C# 组合框中占位符的替代项

C# 组合框中占位符的替代项,c#,wpf,xaml,combobox,C#,Wpf,Xaml,Combobox,我有一个通过viewmodel加载的ComboBox。组合框出现后将有一个默认的空白选择,它自然可以很好地用占位符文本覆盖 我尝试了不同的方法来实现这一点,但是,由于似乎没有达到我的目的,我使用了一个库(xceed),它在扩展的combobox控件中支持水印功能 但是,如果我重新加载带有新实体的组合框,我会返回到一个空白选择的情况,但是我可以通过扩展组合框来查看我的实体 从用户的角度来看,这不是很好。这就是为什么我想知道,我如何才能正确地添加占位符文本到我的组合框,它将出现在我更新我的组合框内容

我有一个通过viewmodel加载的ComboBox。组合框出现后将有一个默认的空白选择,它自然可以很好地用占位符文本覆盖

我尝试了不同的方法来实现这一点,但是,由于似乎没有达到我的目的,我使用了一个库(xceed),它在扩展的combobox控件中支持水印功能

但是,如果我重新加载带有新实体的组合框,我会返回到一个空白选择的情况,但是我可以通过扩展组合框来查看我的实体


从用户的角度来看,这不是很好。这就是为什么我想知道,我如何才能正确地添加占位符文本到我的组合框,它将出现在我更新我的组合框内容之前和之后

假设您在IDictionary中有自己的选项,可能是从数据库填充的

因此,在ViewModel中,您可以执行以下操作:

IDictionary items=GetComboOptions();
var comboDataSource=newdictionary({0,“Select…”).Union(items).ToDictionary(kvp=>kvp.Key,kvp=>kvp.Value)

然后,您需要将代码放入属性中,从而将其绑定到视图。我还没有测试过这段代码