Wpf 带有Viewmodel属性和IConverter的复选框绑定不起作用
我有一个简单的Wpf 带有Viewmodel属性和IConverter的复选框绑定不起作用,wpf,xaml,Wpf,Xaml,我有一个简单的复选框,我想将视图模型中的值绑定到复选框的IsChecked属性。从ViewModel派生的值为sbyte类型。 我已经包括了一个小的转换器类。 但是,此代码不起作用。 请建议正确的方法 XAML 我找到了解决方案…我在viewmodel中将_Of_Sales错误地输入为_Of_Sales…这就是问题所在…:-)。 谢谢您的时间。什么不起作用?是否存在System.Windows.Data错误:输出窗口中有40条消息?顺便说一下。。。你的转换器看起来有问题。。。您必须更改Conve
复选框
,我想将视图模型
中的值绑定到复选框
的IsChecked
属性。从ViewModel
派生的值为sbyte类型。
我已经包括了一个小的转换器类。
但是,此代码不起作用。
请建议正确的方法
XAML
我找到了解决方案…我在viewmodel中将_Of_Sales错误地输入为_Of_Sales…这就是问题所在…:-)。
谢谢您的时间。什么不起作用?是否存在System.Windows.Data错误:输出窗口中有40条消息?顺便说一下。。。你的转换器看起来有问题。。。您必须更改Convert和ConvertBack。。。在Convert中必须返回布尔值,而在Convertback return sbyteYes中,这是错误所说的BindingExpression路径错误:“在'object''DM_ItemGroup'(HashCode=40786534')上找不到Out_of_Sales'属性。”。BindingExpression:Path=CurrentRec.Out\u of\u Sales;DataItem='DC_ItemGroup'(HashCode=55957829);目标元素是“CheckBox”(Name='chkOutOfSales');目标属性为“IsChecked”(类型为“Nullable`1”)。DM_ItemGroup是我的模型,DC_ItemGroup是我的视图模型。CurrentRec是当前从我的ViewModel中的ObservableCollection中选择的记录,即DC_ItemGroup在我的ViewModel中,ie DC_ItemGroup,我将此属性命名为“Out_of_Sales”,而在我的数据模型中,它是“Out_of_Sales”…这是罪魁祸首…-)。
<UserControl>
<UserControl.Resources>
<local:TrueFalseConverter x:Key="TFC"/>
</UserControl.Resources>
<CheckBox x:Name="chkOutOfSales" DataContext="{Binding DCIM}" IsChecked="{Binding CurrentRec.Out_of_Sales, Converter={StaticResource TFC},Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</UserControl>
public class TrueFalseConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((bool)value == true) ? 1 : 0;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((sbyte)value == 1) ? true : false;
}
}