我想实现一个usercontrol,它通过XAML代码获取枚举类型。现在的问题是如何实现一个可以接收DataType的属性。什么到目前为止,我已经试过如下:如何为UserControl实现自己的DataType属性
代码背后:
public partial class Test : UserControl, INotifyPropertyChanged
{
#region DependencyProperty: EnumType
public Type EnumType
{
get
{
return (Type)GetValue(EnumTypeProperty);
}
set
{
SetValue(EnumTypeProperty, value);
}
}
public static readonly DependencyProperty EnumTypeProperty =
DependencyProperty.Register("EnumType", typeof(Type), typeof(Test),
new FrameworkPropertyMetadata());
#endregion
}
而在XAML我尝试这样做:
...
<Grid>
<local:Test EnumType="{x:Type local:TestEnum}" />
</Grid>
...
The TestEnum:
public enum TestEnum
{
eins,
zwei,
drei
}
但这并不奏效。看来EnumType属性从未设置。
有没有人有关于如何做到这一点的想法?
推测TestEnum只是一个例子。 EnumType属性应该可以设置为任何类型。 – 2012-02-29 10:03:04
我说的是属性的数据类型是“类型”,而不是枚举类型: 公*类型* EnumType – 2012-02-29 10:04:08
@ bobsmith833,对不起,我没有被正确读取的问题都没有。 – 2012-02-29 10:19:38