如何在组合框的开头和结尾显示组合框项

本文关键字:组合 结尾 显示 开头 | 更新日期: 2023-09-27 17:54:46

在我的WinRT c#/XAML应用程序中,我有一个组合框,我绑定到一个List<T>。绑定像我想要的那样工作,但我想有一个项目放在列表的开头,称为 Choose Chore ,一个在末尾,称为 Add New 。我上面的代码只显示绑定列表:

<ComboBox x:Name="currentChore" 
          SelectedItem="Choose Chore" 
          DisplayMemberPath="Summary"
          ItemsSource="{Binding ChoreList, Mode=TwoWay}"  
          SelectedValue="{Binding ChoreSingle, Mode=TwoWay}">
    <ComboBoxItem Content="Choose Chore" Foreground="Black" />
    <ComboBoxItem Content="Add New" Foreground="Black" />
</ComboBox>

我怎么做才能显示其中一个或两个项目?

如何在组合框的开头和结尾显示组合框项

List<T>使用Collection<T>.Insert方法,该方法用于ComboBox:

在指定索引处插入一个元素到集合中。

的例子:

List<string> testList = new List<string>();
// Add in begin of List
testList.Insert(0, "Choose Chore");
// Add in the end of List
testList.Insert(testList.Count, "Add New item");

如果你的目标是Windows 8.1 - PlaceholderText可能是你会使用的东西"选择家务",因为这不是可操作的UI,当你点击/点击它不像你点击常规的ComboBoxItem时发生的事情。至于"添加新项目"的事情-我建议有一个单独的按钮的组合,但如果你真的有-你可以按照Anatoliy的建议,也许也使用ItemTemplateSelector使用不同的DataTemplate的项目,而不是在组合中的所有其他项目。