C#wpf不会使用数组绑定进行刷新



我在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

相关内容

  • 没有找到相关文章

最新更新