我尝试使用Xceed PropertyGrid显示带有硬编码字符串值的下拉列表。
PropertyGrid显示:" Xceed.Wpf.Toolkit.PropertyGrid.Attributes.Item"而不是将项目显示为我指定为IItemSource
的字符串。对于下拉列表中的每个项目。
当我选择一个对象时,所需的字符串显示为所选项目。
这是我看到的下拉项目:
当我选择一个项目时,我可以按照我希望它作为下拉项目的方式看到它:
我的代码:
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,BTW。
我尝试过几件事情,但我没有想法。 任何帮助表示赞赏。
答案 0 :(得分:1)
这应该有效:
public ItemCollection GetValues()
{
var printers = new ItemCollection();
for (int i = 0; i < 7; i++)
{
string entry = "Option - " + i;
printers.Add(entry, entry);
}
return printers;
}