2017-08-19 122 views
0

我想在WPF中的用户控件上有一个自定义属性的下拉选择。WPF设计师定制属性 - 下拉框

/// <summary> 
/// Interaction logic for Sample.xaml 
/// </summary> 
public partial class Sample : System.Windows.Controls.UserControl 
{ 
    public Sample() 
    { 
     InitializeComponent(); 
    } 

    [DefaultValue(Letters.A)] 
    [Browsable(true)] 
    [Category("ControlDisplay")] 
    [Description("Letter")] 
    public Letters Letter { get; set; } 


    public enum Letters 
    { 
     A, 
     B, 
     C, 
     D 
    } 
} 

enter image description here

真棒:):当我使用一个枚举作为财产 一切工作正常。

但我想实现这个自定义类甚至字符串。 我应该怎么做?

在此先感谢。

回答

0

最后得到了一个anwser(挖了一些文档 - 很多)。 首先是Type Converter属性 然后一个很好的walktrought如何实现它是hereThis是什么使我对它。

简而言之: 实现一个类型转换器GetStandardValuesSupported(ITypeDescriptorContext context)返回true,并返回返回StandardValuesCollection作为属性类型。 最后只是装点属性,像这样:

[TypeConverter(typeof(MyClassConverter))] 
    public MyClass MyProperty { get; set; } 

设计者属性窗口现在有有效值下拉。