2
我想使用模板化的ComboBoxItems,它包含一個Image和一個Label。如果我將模板分配給ComboBoxItem,我可以以某種方式設置圖像的Source-Property?目標是爲不同的ComboBoxItems使用相同的模板,但每個Item中使用不同的圖片。訪問XAML中控件模板中元素的屬性
我也想過在模板中綁定Image.Source-Property,但是這樣做失敗了,因爲「parent」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