WPF UserControls: 'x:Shared =' False ''を使用しても画像が消える
Wpf Usercontrols Image Disappears Even Withx
解決:
問題はではありませんBitmapImageこれは、ボタンのセッター内のコンテンツです。一度作成されるため、インスタンス間で「ジャンプ」する必要があります。
簡単ですが、WPF風ではないソリューションが設定されていますx:Shared = 'False'スタイル。
正しい方法は使用することですControlTemplateまたは
DataTemplate。
あなたの観察から:
' 両方のボタンの内容を画像に直接設定すると、問題なく機能します '-これを行うには、2つの異なるインスタンスを作成するためです。画像オブジェクト。
しかしこれは: ' スタイリングの要点は、それを正確に回避することです。 'は誤解です-スタイルはコンテンツコントロールのコンテンツを設定することを意図したものではなく、コンテンツはコンテキストに依存します。 (コンテンツに依存せずに)すべてのボタンで繰り返されるビジュアルがある場合、それは次の場所に存在する必要があります。ボタンのControlTemplate。コンテンツに依存するビジュアルがある場合(ただし、コンテンツはビジュアルではありません)、
DataTemplate。