0
    private int[] g1 = new int[9];

    public int[] G1 
    { 
        get { return g1; }
        set { NotifyPropertyChanged("G1[]"); }
    }



    public event PropertyChangedEventHandler PropertyChanged;

    private void NotifyPropertyChanged(string propName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propName));
        }
    }



    <TextBlock x:Name="R1G1" Text="{Binding G1[0]}" HorizontalAlignment="Left" Margin="0,0,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="80" Height="80"/>

G1 在一个方法中填充了从 1 到 9 的整数。

问题:文本块的文本设置为 0,无法更新。

4

2 回答 2

1
NotifyPropertyChanged("G1[]");

应该

NotifyPropertyChanged("G1");

您确定数组包含值 1 到 9 吗?它没有显示在代码中。

TextBlocks 不能用于输入文本。请改用文本框。

绑定可能需要一个Mode=TwoWay

最后(此问题不需要):数组不支持向数组发送更改通知(添加、删除、移动元素)您可以为此使用 ObservableCollection。

于 2012-09-05T11:27:40.490 回答
0

哇……住手!使用 anObservableCollection<int>而不是数组。ObservableCollection 实现了 INotify。

于 2012-09-05T19:53:46.150 回答