結合元素問題,我有一個簡單的XAML:複選框在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>
此XAML效果很好WinRT中的Windows 8.1的應用程序。當我在WP8.1應用程序中嘗試它時,它在設計器中工作(顯示或隱藏網格取決於複選框值),但不在電話中。爲什麼?
更新: 我有通用8.1應用程序,如果使用轉換器,然後顯示我的例外:
錯誤CS0012:類型「類型」是在沒有 引用的程序規定。您必須添加到程序集的引用 'System.Runtime, 版本= 4.0.10.0,文化=中性公鑰= b03f5f7f11d50a3a'
轉換代碼:
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();
}
}
在XAML
<Page.Resources>
<local:BoolConverter x:Name="ThatsMyConverter"/>
</Page.Resources>
........
<Grid Visibility="{Binding IsChecked, ElementName=chkShowSettings,Converter={StaticResource ThatsMyConverter}}">
嘗試通過轉換器將IsChecked屬性綁定到Visibility。這可能是問題! – WPMed
轉換器顯示異常 –
您是否在xaml文件的開頭引用了轉換器命名空間,並將轉換器添加爲靜態資源?應該做到這一點,使其工作 – WPMed