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

C# wpf wont refresh using array binding

我在 wpf 上有一个简单的 Ellispis,我将其绑定到数组项“Data[0]”以对其进行动画处理。 问题是当我将它绑定到那个数组时,它的值切换“true/false”对 UI.

没有影响

但是当我将绑定从同一个 class 更改为另一个 public 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;

这用于刷新它达到的值和控件,并且两者在调试中都显示出良好的结果:

    private void RefreshData(object sender, EventArgs e)
    {
        _data= _process.DataRes;
        _dataSimple= _process.DataRes[0];
        Debug.WriteLine(_data[0]);
        Debug.WriteLine(_dataSimple);
    }

有人可以帮我解决这个问题吗? 谢谢

您的问题不清楚您正在更改什么并希望触发用户界面更新。

如果您要更新单个 bool 值,请将 bool[] 替换为 ObservableCollection<bool> 并使用适当数量的项目对其进行初始化。

如果您要提供全新的 bool 值数组,那么您的 类 需要为更新的属性实施 INotifyPropertyChanged