您可以創建一個Style
的ItemsSource
屬性設置爲一個集合:
<Style TargetType="ComboBox" x:Key="MyCombo" xmlns:c="clr-namespace:System.Collections;assembly=mscorlib">
<Setter Property="ItemsSource">
<Setter.Value>
<c:ArrayList>
<ComboBoxItem>item one</ComboBoxItem>
<ComboBoxItem>item two</ComboBoxItem>
</c:ArrayList>
</Setter.Value>
</Setter>
</Style>
你也可以定義一個ComboBox
實例作爲一個資源:
<ComboBox x:Key="MyCombo" x:Shared="False">
<ComboBoxItem Content="item one" />
<ComboBoxItem Content="item two" />
</ComboBox>
而且使用它像這個:
<ContentControl Content="{StaticResource MyCombo}" />
第三個選擇是創建一個自定義ComboBox
控制,增加了普通ComboBoxItem
S:
public class MyCombo : ComboBox
{
public MyCombo()
{
Items.Add(new ComboBoxItem() { Content = "item one" });
Items.Add(new ComboBoxItem() { Content = "item two" });
}
}
,創造這一個實例:
<local:MyCombo />
來源
2017-03-06 15:15:51
mm8
首先一個看起來很整齊,但我當使用ContentControl時不能覆蓋屬性。例如,我必須將'SelectedValue'綁定到不同的屬性。 – Zergatul
請看我編輯的答案。您可以將ItemsSource屬性設置爲一個集合。 – mm8
謝謝@ mm8,那就是我一直在尋找的東西。 – Zergatul