-1

私が
すること DependencyProperty の 1 つが文字列配列にバインドされるユーザー コントロールを作成します。

    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); }

エラー:型 'string[]' を 'string' に暗黙的に変換できません


ソースのタイプを文字列配列に登録しないと、なぜこのエラーが発生するのですか? それを解決する方法は?

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: プロパティは配列を返さないでください を回避するために、可能な場合はプロパティをコレクションを返すように変更することをお勧めします。

于 2012-06-30T09:08:52.300 に答える