タイトルはあまり役に立たないかもしれませんが、ここに私の問題があります。SILVERLIGHTのコントロール間でプロパティをバインドする際に問題が発生します。構造は次のとおりです。
- 「ProjectItemList」と呼ばれるコントロールがあります。このコントロールは文字列を受け取り、非常に簡単な方法で表示します。
- 「ProjectList」と呼ばれるコントロールがあります。このコントロールは文字列の配列を受け取り、「ProjectItemList」コントロールを使用して配列内の各文字列を表します。
- 「ProjectWindow」と呼ばれるウィンドウがあり、このウィンドウには「ProjectList」コントロールと「Nombres」と呼ばれる依存関係プロパティが含まれています。
コンテキスト:「ProjectWindow」ウィンドウには「ProjectList」コントロールが含まれ、ProjectWindowの依存関係プロパティ「Nombres」と依存関係プロパティ「ListOfNames」の間にバインディングがあります。「ListOfNames」依存関係プロパティのコードは次のとおりです。
public static DependencyProperty ListOfNamesProperty =
DependencyProperty.Register("ListOfNames", typeof(string[]), typeof(ProjectList), new PropertyMetadata(null));
public string[] ListOfNames
{
get
{
return (string[])GetValue(ListOfNamesProperty);
}
set
{
SetValue(ListOfNamesProperty, value);
List<ProjectItemList> auxList = new List<ProjectItemList>();
foreach (string s in value)
{
ProjectItemList il = new ProjectItemList();
il.Nombre = s;
this.lb_projects.Items.Add(il);
}
}
}
問題は、「ProjectList」のリストコントロールは「Nombres」プロパティを表しますが、「ListOfNames」の「Set」は呼び出されないため、各「ProjectItemList」オブジェクトを作成してデータを表すことができないことです。
私はXAMLとSilverlightにかなり慣れていないので、単純なことを考えていないかもしれません。
ありがとう!