好吧,我有一个ItemsControl绑定到一个布尔数组。项目只是复选框:
<ItemsControl ItemsSource="{Binding A,Mode=TwoWay}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DockPanel LastChildFill="False">
<CheckBox IsChecked="{Binding Path=.,Mode=TwoWay}" DockPanel.Dock="Right"/>
</DockPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
在VM中,有一个布尔数组,ItemsControl绑定到该数组:
private bool[] a = new bool[5] { true,true,false,false };
public bool[] A
{
get => a;
set => SetProperty(ref a,value);
}
(SetProperty函数设置新值并引发OnPropertyChanged)
因此,当我运行程序时,我可以看到ItemsControl正确地获取了值,但是在单击CheckBoxes之后它没有设置任何值。就像我将绑定模式设置为OneWay一样。为什么?
谢谢,我希望这个问题不会重复。