![](/img/trans.png)
[英]Is it possible to set the Items property of a WPF ComboBox in a style?
[英]WPF: load ComboBox items from style/resource
我有幾個帶有相同項目的組合框。 我想將項目放入app.xaml
,以防止代碼重復。 我可以做這樣的事情嗎?
<Style x:Key="MyCombo" TargetType="{x:Type ComboBox}">
<Setter Property="Items">
<ComboboxItem Content="item one" />
<ComboboxItem Content="item two" />
</Setter>
</Style>
您可以創建一個將ItemsSource
屬性設置為集合的Style
:
<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
:
public class MyCombo : ComboBox
{
public MyCombo()
{
Items.Add(new ComboBoxItem() { Content = "item one" });
Items.Add(new ComboBoxItem() { Content = "item two" });
}
}
並創建一個實例:
<local:MyCombo />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.