イメージとラベルで構成されるテンプレート化ComboBoxItemを使用したいと思います。テンプレートをComboBoxItemに割り当てると、どうにかイメージのSource-Propertyを設定できますか?目標は、同じテンプレートを異なるComboBoxItemsに使用することですが、各Item内の異なるピクチャを使用します。XAMLでのcontroltemplateの要素のアクセスプロパティ
また、テンプレートのImage.Sourceプロパティをバインドすることも考えましたが、「親」ComboBoxItemにバインドできるSource-Propertyがないため、これは失敗します。
コードは、私の問題を示しています
<Style x:Key="ComboBoxPictureItem" TargetType="{x:Type ComboBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBoxItem">
<StackPanel Orientation="Horizontal">
<Image x:Name="StatusImage" />
<Label x:Name="StatusLabel" Content="Green"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ComboBox>
<ComboBoxItem Style="{StaticResource ResourceKey=ComboBoxPictureItem}"
-> sth. like: StatusImage.Source="PathToMyImage.png"/>
</ComboBox>
ありがとうございました!
ComboBoxItemから継承した自分のクラスを使用することは可能な解決策ですが、もっと簡単な方法があると思っていました。 ItemTemplateのヒントをありがとう、これは完全に新しいControlTemplateを使用するよりもはるかに必要なものです。この問題を解決するには、ここに示すようにDataTemplateを適切に使用してください:http://msdn.microsoft.com/en-us/library/ms742521.aspx – schoola