-1

我做什么
创建一个用户控件,它的 DependencyProperty 之一绑定到字符串数组

    public static readonly DependencyProperty TaskListProperty =
    DependencyProperty.Register("TaskList",
                                typeof(string[]),
                                typeof(MainControl),
                                null);

    public string TaskList
    {
        get { return (string[])GetValue(TaskListProperty); }
        set { SetValue(TaskListProperty, value); }
    }

我收到
此代码的错误

    get { return (string[])GetValue(TaskListProperty); }

错误:无法将类型“字符串 []”隐式转换为“字符串”

为什么
会出现这个错误,我不把它的源类型注册到字符串数组吗?如何解决?

4

2 回答 2

5

错误信息是正确的。您忘记了[]您的属性类型。

public string[] TaskList
{
    get { return (string[])GetValue(TaskListProperty); }
    set { SetValue(TaskListProperty, value); }
}
于 2012-06-30T08:26:51.650 回答
0

至于错误,@Michael 和@herzmeister 是对的,你忘了[]。但是为了避免性能警告CA1819: Properties should not return arrays我建议您更改属性以返回一个集合,如果可以的话。

于 2012-06-30T09:08:52.300 回答