1

2レベルのネストされた配列をWindows8MetroスタイルアプリのXAMLコントロールにバインドしたいと思います。配列は次のようになります(A、B、Cが最上位配列の要素です)

A
--W
- バツ
B
--Y
C
--Z

W、、、およびのプロパティXをバインドしたいと思います。これを達成するための推奨される方法は何ですか?IValueConverterを使用する必要がありますか(これにより多くのコードが生成されます)?YZ

4

1 に答える 1

0

あなたの質問を正しく理解できれば、LINQ の SelectMany() をプロパティで使用して、PropertyChanged を報告できると思います。このようなもの:

private string[][] _my2DArray;
public string[][] My2DArray
{
    get { return _my2DArray; }
    set 
    { 
        _my2DArray = value;
        OnPropertyChanged("My2DArray");
        OnPropertyChanged("InternalArrays");
    }
}

public IEnumerable<string> InternalArrays
{
    get { return _my2DArray.SelectMany(a => a); }
}

コレクション内の変更を通知するには、配列の代わりに ObservableCollection を使用することを検討してください。

于 2012-09-16T06:23:32.937 に答える