現在コード上で動的にエレメントを追加しているコードがあります。
これをXAMLで記述したい(データバインディングしたい)のですが方法が判りません。
わかる方ご教示ください。調査に必要なキーワードのみでも構いません。
詳細:
・動的にエレメントを追加したい。
・追加するエレメントは型も動的なため、FrameworkElementを指定。
<抜粋>
C#
1void AddElements(FrameworkElement[] elements) 2{ 3 foreach(var e in elements) 4 grid1.Children.Add(e); 5} 6
[XAML]
XAML
1<Grid Name="grid1"> 2</Grid> 3
上記をコードではなくXAMLのみデータバインディングしたいのです。
イメージとしては下記のようにしたい。
(当然ですが下記例では動きません)
XAML
1<Grid Name="grid1"> 2{DataBinding Path="Elements"} 3</Grid>
以上、よろしくお願いします。
以下質問です。
・親エレメントがGridである理由は何でしょうか。
・DataBindingということはMVVMについては理解されており、ViewModelを実装済みでしょうか。
・エレメントの追加例をいくつか記載できますでしょうか。(何を以てどのエレメントを追加するのか)
質問ありがとうございます。
・コードには記載しませんでしたが、件数によって動的にカラムを増やしていきたいからです。
(エレメントを横に並べていきたいのと、その時に微妙にレイアウトも変更したい)
レイアウトの詳細な都合上、StackPanel辺りは不適切でした。
・ViewModelは実装済みです。現在Window側にあるコードを順次XAML+ViewModelに移動させている最中です。
・エレメントの例はImage,MediaElementと言った画像が表示されるものです。これらのエレメントは今のところ確定でないため、FrameworkElementとしています。
以上、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー