![](/img/trans.png)
[英]How to specify GroupDescriptions in XAML for a custom DataGrid control?
[英]How to specify an enumeration in xaml
我的WPF应用程序有一个扩展,我在对StackOverflow的一个问题的答案中找到了该扩展,该扩展为枚举创建了ComboBox
选择。 我不记得我从哪条帖子中获得了信息,但是由于这不是问题,所以这无关紧要。
我在WPF应用程序中将DLL用于我们产品的后端。 我希望用户从使用ComboBox
和上述扩展名中选择的DLL中有一个枚举。 我在XAML中定义了正确的xmlns。
问题是我的枚举是另一个类的子类。 也就是说,它定义如下:
public class MyClass {
. . .
public enum MyEnum { . . . }
. . .
}
我认为ComboBox
的XAML应该看起来像这样:
<ComboBox ItemsSource="{Binding Source={cs:Enumeration {x:Type ns:MyClass.MyEnum}}}"
. . . />
当我键入“ MyClass”时,当键入句点以将父类名称与子类型的名称分开时,Intellisense只会再次提供上层类的名称。 如果仍然在句点之后键入子类名称,则编译器会给我一个错误:“找不到Type MyClass.MyEnum”。
如何正确指定枚举名称?
尝试使用:
{x:Type ns:MyClass+MyEnum}
http://neilmosafi.blogspot.co.uk/2007/08/dec-06-wpfxaml-xtype-and-nested-classes.html
我决定对此进行讨论,并使用与加载从数据库中提取的选项ComboBox
相同的机制。 那是:
ObservableCollection
我使用名为ItemChoice
的通用自定义类的对象填充视图模型类的构造函数中的ObservableCollection
。 声明看起来像:
公共ObservableCollection <ItemChoice <MyClass.MyEnum >> EnumChoices {get; 组;
我将ComboBox's ItemsSource
属性绑定到XAML中的EnumChoices
集合。
在视图模型的构造函数中,我实例化了EnumChocies
集合,并用新的ItemChoice
对象加载了该对象,枚举中的每个选择都对应一个对象。
所有这一切。 现在,我可以继续讨论代码的其他问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.