Skip to content

Instantly share code, notes, and snippets.

@damirarh
Created May 5, 2013 08:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save damirarh/5520196 to your computer and use it in GitHub Desktop.
Save damirarh/5520196 to your computer and use it in GitHub Desktop.
public class BooleanToVisibilityConverter : IValueConverter
{
public bool Inverted { get; set; }
public object Convert(object value, Type targetType, object parameter, string language)
{
if (!(value is bool))
{
return Visibility.Collapsed;
}
return (bool)value ^ Inverted ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
<Page.Resources>
<local:BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter" />
<local:BooleanToVisibilityConverter x:Key="InvertedBoolToVisibilityConverter" Inverted="True" />
</Page.Resources>
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<ProgressRing IsActive="True"
Visibility="{Binding Initialized, Converter={StaticResource InvertedBoolToVisibilityConverter}}"/>
<TextBlock Text="{Binding Text}"
TextWrapping="Wrap"
Visibility="{Binding Initialized, Converter={StaticResource BoolToVisibilityConverter}}"
Style="{StaticResource BasicTextStyle}" />
</Grid>
public ViewModel()
{
Init();
}
private async void Init()
{
var file = await Package.Current.InstalledLocation.GetFileAsync(@"Assets\Text.txt");
Text = await FileIO.ReadTextAsync(file);
await Task.Delay(2000);
Initialized = true;
}
public string Text
{
get { return _text; }
set
{
if (value == _text) return;
_text = value;
OnPropertyChanged();
}
}
public bool Initialized
{
get { return _initialized; }
set
{
if (value.Equals(_initialized)) return;
_initialized = value;
OnPropertyChanged();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment