Dus*_*vis 0 c# wpf binding ivalueconverter isenabled
我有一个带有Grid和TreeView的WPF窗口.Grid的datacontext绑定到树视图上的选定项.但是,因为并非所有treeviewitems都适用,所以如果treviewitem不适用,我想禁用网格.所以,我创建了一个值转换器来进行空检查并返回一个bool.(在这种情况下,适用的项目不会为空)
问题是从未使用过值转换器.我设定了破发点,他们从未被击中过.我有其他价值转换器我正在使用它们都工作得很好.
有什么我想念的吗?
<Grid Grid.Column="1" Grid.Row="0" DataContext="{Binding MyVal}" IsEnabled="{Binding MyVal, Converter={StaticResource NullCheckConverter}}" Margin="2,2,2,2">
Run Code Online (Sandbox Code Playgroud)
并不是说这个问题很重要,但这里是ValueConverter代码:
internal class NullCheckValueConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return !(value == null);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
那是因为您将DataContext绑定到与绑定相同的值IsEnabled.因此,IsEnabled它实际上寻找MyVal.MyVal.替换为:
IsEnabled="{Binding Converter={StaticResource NullCheckConverter}}"
Run Code Online (Sandbox Code Playgroud)
如果您遇到绑定问题,请在调试模式输出窗口中检查绑定错误.