1

为了绑定一个“友好”的枚举,我点击这个链接

将枚举属性数据绑定到 WPF 中的组合框

但我有这个错误:无法从“状态”字符串创建“类型”

这是我背后的代码

    public enum Status
    {
        [Description("Available.")]
        Available,
        [Description("Not here right now.")]
        Away,
        [Description("I don't have time right now.")]
        Busy
    }


    public Status CurrentStatus { get; set; }


    public MainWindow()
    {
        InitializeComponent();

    }

这是我的 XAML

<Grid>
    <ComboBox 
        ItemsSource="{Binding Source={my:Enumeration {x:Type Status}}}" 
        DisplayMemberPath="Description" 
        SelectedValue="{Binding CurrentStatus}"  
        SelectedValuePath="Value"  />

</Grid>

我怎么了?

谢谢

4

1 回答 1

0

您缺少命名空间。如果您的代码位于名为的命名空间中,MyProject则需要在 xaml 文件顶部添加对它的引用:

    <xmlns:proj="clr-namespace:MyProject" />

然后相应地为您的类型添加前缀:

    ItemsSource="{Binding Source={my:Enumeration {x:Type proj:Status}}}" 

编辑:查看您现有的标记,使用my:Status可能就足够了。

于 2012-04-23T15:59:39.353 回答