1

これが本当に明白になることを願っています。グリッドビューに接続した監視可能なコレクション内にビュー モデルのリストがあります。ビューはアニメーションなどで複雑なので、ユーザー コントロール内にまとめました。

私のxamlは次のようになります:-

<GridView Grid.Row="1" ItemsSource="{Binding Tiles, Mode=OneWay}">                              
    <GridView.ItemTemplate>
        <DataTemplate>
                <local:Tile DataContext="{Binding}" />
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

ただし、タイル データ コンテキストは常に null です。

このコードを機能させる簡単な方法はありますか?

ありがとう

4

2 に答える 2

0

を削除してみてくださいDataContext="{Binding}"DataContextデフォルトでは、アイテムはItemsSourceコレクションのアイテムです。

于 2013-02-11T20:32:38.513 に答える
0

DataContextが常に null であることをどうやって知ることができますか? たとえば、 のコンストラクターでチェックすると、Tileコントロールがインスタンス化されるまでバインディング プロセスが発生しないため、常に null であると予想されます。

DataContext="{Binding}"コードでローカル変数をそれ自体に割り当てるのと同じように、本質的に無意味です。何も役に立ちませんが、何も害するべきではありません。アイテムが表示され、内部のどこにもGridView干渉していない場合は、そのアイテムのデータになります。DataContextTileDataContext

于 2013-02-12T02:26:39.597 に答える