Ich habe eine einfache XAML:CheckBox Element Ausgabe Bindung in WP8.1
<CheckBox x:Name="chkShowGrid" IsThreeState="False" IsChecked="False">Show content</CheckBox>
<Grid Visibility="{Binding IsChecked, ElementName=chkShowGrid}">
<TextBlock>Some content goes here</TextBlock>
</Grid>
Diese XAML funktioniert gut in WinRT Windows-8.1-Anwendung. Wenn ich es in WP8.1-Anwendung versuche, funktioniert es im Designer (zeigt oder verbirgt das Raster abhängig vom Wert der Checkbox), aber nicht auf dem Telefon. Warum?
UPDATE: I Universal-8.1 App haben und wenn die Verwendung Konverter zeigt mir dann Ausnahme:
Fehler CS0012: Der Typ 'Typ' wird in einer Baugruppe definiert, die nicht verwiesen wird. Sie müssen einen Verweis auf Assembly hinzufügen 'System.Runtime, Version = 4.0.10.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'
Converter Code:
class BoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (value == null) return false;
return (bool)value;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
In XAML
<Page.Resources>
<local:BoolConverter x:Name="ThatsMyConverter"/>
</Page.Resources>
.........
<Grid Visibility="{Binding IsChecked, ElementName=chkShowSettings,Converter={StaticResource ThatsMyConverter}}">
Versuchen Sie, die IsChecked-Eigenschaft über einen Konverter an die Sichtbarkeit zu binden. Das könnte das Problem sein! – WPMed
Konverter zeigt die Ausnahme an –
Referenzieren Sie Ihren Konvertierungsnamespace am Anfang Ihrer XAML-Datei und fügen Sie den Konverter als statische Ressource hinzu? Das sollte getan werden, damit es funktioniert – WPMed