我在wpf上有一个简单的Ellispis,我将其绑定到一个Array项"数据[0]";以使其动画化。问题是,当我将它绑定到那个数组时,它的值切换为"0";真/假";对UI没有影响。
但是当我将绑定更改为来自同一类的另一个公共bool时。没有问题
<Ellipse Width="19"
Height="18"
Margin="29,137,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Fill="{Binding Data[0],
Converter={StaticResource BooleanToBrushConverter},
Mode=OneWay,
UpdateSourceTrigger=PropertyChanged}"
Stroke="Black" />
当我绑定到该数组时,UI上没有更新:
public bool[] Data
{
get{ return _data; }
set{ _data= value; }
}
private bool[] _data= new Boolean[20];
当我绑定到那个bool时,它正在工作:
public bool DataSimple
{
get { return _dataSimple; }
set { _dataSimple=value; }
}
private bool _dataSimple;
这用于刷新它所达到的值和控制,并且两者都在Debug:中显示出良好的结果
private void RefreshData(object sender, EventArgs e)
{
_data= _process.DataRes;
_dataSimple= _process.DataRes[0];
Debug.WriteLine(_data[0]);
Debug.WriteLine(_dataSimple);
}
有人能帮我一下吗?感谢
您的问题不清楚您到底在更改什么,并希望触发用户界面的更新。
如果要更新单个布尔值,请将bool[]
替换为ObservableCollection<bool>
,并使用适当数量的项对其进行初始化。
如果您提供了一个全新的bool值数组,那么您的类需要为更新的属性实现INotifyPropertyChanged
。