我正在尝试使用 Xceed PropertyGrid 显示带有硬编码字符串值的下拉列表。而不是将项目显示为我分配为的字符串IItemSource
,PropertyGrid 显示:下拉列表中每个项目的“Xceed.Wpf.Toolkit.PropertyGrid.Attributes.Item”。当我选择一个对象时,所需的字符串显示为所选项目。
这是我看到的下拉项目:
当我选择一个项目时,我可以按照我希望它显示为下拉项目的方式查看它:
我的代码:
XAML:
<xctk:PropertyGrid SelectedObject="{Binding MySettingsWrapper}" AutoGenerateProperties="True">
</xctk:PropertyGrid>
C#:
[Serializable]
public class SettingsWrapper
{
[LocalizedCategory("SettingsViewCategoryHardware")]
[LocalizedDisplayName("SettingsViewLblSelectPrinter")]
[ItemsSource(typeof(PrintersItemSource))]
public string SelectedPrinter { get; set; }
public class PrintersItemSource : IItemsSource
{
public ItemCollection GetValues()
{
var printers = new ItemCollection();
for (int i = 0; i < 7; i++)
{
printers.Add("Option - " + i);
}
return printers;
}
}
}
我正在使用 Caliburn.Micro,顺便说一句。
我已经尝试了几件事,但我没有想法。任何帮助表示赞赏。