1

C#とXAMLを使用してアプリケーションを開発していますが、混乱する問題が発生しました。データにというプロパティがありGroupImage、バインディングを使用してのSourceプロパティを設定Imageしました。それはうまくいきましたが、同じことをもう一度やりたいと思ったとき、2番目のImageコントロールに画像が表示されません。

<Image Source="{Binding Group.GroupImage}" Width="250" Height="500" Stretch="UniformToFill" />

<Image VerticalAlignment="Bottom" Stretch="UniformToFill" Source="{Binding Group.GroupImage}" Grid.RowSpan="2"/>

上の方はうまく機能し、下の方はうまくいきません。DataContextデータバインディングについて読んでいて、プロパティを複数回使用するには、で何かを指定する必要があるという印象を受けました。これは正しいですか?これを行うのは非常に奇妙な方法のようです。

私はC#に比較的慣れていないので、明らかな何かが欠けている場合は申し訳ありません。もっと知識のある手がかりをいただければ幸いです。

ありがとう

更新私が受けた支援に続いて、コンテキストがに設定されていることがわかりました

DataContext="{Binding Group}"

その結果、データコンテキストがすでにグループに設定されているため、2行目を次のように変更する必要がありました。

<Image VerticalAlignment="Bottom" Stretch="UniformToFill" Source="{Binding GroupImage}" Grid.RowSpan="2"/>
4

1 に答える 1

1

DataContextプロパティを複数回使用するために、で何かを指定する必要はありません。ただし、ビジュアルツリー上の位置に応じて、2つにはImage権利がDataContext必要です(デバッガーで簡単にテストできます)(DataContextパーツのコードを提供していませんか?)。

Image's Width/Heightが0でないことを確認することもできます。

于 2012-11-27T14:26:37.793 に答える