これらの項目が動的に作成される場所のMenuItemコントロールにアイコンをバインドします。私はx:Shared属性をFalseに設定しようとしましたが、常に最後の項目だけがアイコンを持っています。WPF MenuItemアイコン共有
<Window.Resources>
<Style TargetType="{x:Type MenuItem}" x:Key="MenuItemStyle" x:Shared="False">
<Setter Property="Icon">
<Setter.Value>
<Image Source="{Binding IconSource}" />
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
そして、MenuItemの定義:私はすでにImageコントロールが、運にこの共有属性を設定しようとした
<MenuItem Header="Workspaces" ItemsSource="{Binding WorkspaceItems}" Icon="{StaticResource BranchIcon}" ItemContainerStyle="{StaticResource MenuItemStyle}" />
は、ここに私のMenuItem ItemContainerStyleコードのスタイルです。
提案がありますか?
Visual Studioの出力ウィンドウにバインディングエラーまたは警告が表示されますか? – haindl
いいえ、それはコンパイル可能です。それは1つのアイテムに対してのみ機能します。これは、スタイルが常に1つの親しか持てないために位置が変わるときに起こることが分かります。しかし、誰もがx:Shared属性で変更できると言います。たぶん私は何かを逃した、私はそれが動作しない理由を知らない。 – Panthesilea