私は複雑なフォームアプリケーションを開発しています。各行には最後にプラスボタンがあり、そのすぐ下に新しい行を追加してください。私が実装しているものの例が必要な場合は、iTunesとスマートプレイリストの編集ダイアログをチェックしてください。これは、私が使い慣れたクエリービルダーを構築するために使用しているクエリーとネストを使用しています。どのように私は(いくつかのスペース上のタブ)お互いの下に行を入れ子にし、お互いの間にグリッドに行を追加するためのヒント?Silvelight:グリッドの行間にコントロールを動的に追加する方法は?
1
A
答えて
0
あなたは、オブジェクトがのObservableCollectionに入れ、その後、データはツリービューの項目ソースにバインドするとあなたは、各行を表すことができTreeView control
を使用して試みることができます。各行オブジェクトには、そのネストされた行オブジェクトのObservableCollectionを含むChildrenプロパティもあります。
class Row
{
public ObservableCollection<Row> Children { get; set; }
// ....
}
partial class MainPage
{
public ObservableCollection<Row> Rows{ get; set; }
public MainPage()
{
//Add your initial rows
this.AddRow(new Row(...));
this.AddRow(new Row(...));
//...
this.InitializeComponents();
}
public void AddRow(Row newRow, Row parentRow=null)
{
if(parentRow == null)
{
// Add new row to root of tree
this.Rows.Add(newRow);
}
else
{
//Add new row as child of an existing row of tree
parentRow.Children.Add(newRow);
}
}
}
<UserControl x:Class="MainPage" x:Name="mainPageUserControl">
<TreeView ItemsSource="{Binding Rows, ElementName=mainPageUserControl}">
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<!-- Template the behaviour/look of your rows as needed -->
</HierarchicalDataTemplate>
</TreeView>
</UserControl>
新しい行を追加または削除するには、あなたは、単に監視可能なコレクションからRowオブジェクトを追加/削除することができます。 ObservableCollectionにバインドすると、行が追加/削除された場合にTreeViewが自動的に更新されます。
関連する問題
- 1. GXTグリッドに行を動的に追加する方法
- 2. グリッド内に動的に追加されたコントロールを移動 - WPF
- 3. Silverlightグリッド行の間でコントロールを移動する方法は?
- 4. グリッドにエンティティ属性を動的に追加する方法
- 5. 静的なコントロールの代わりに動的なコントロールを追加する方法?
- 6. .Netコントロールをvb6アプリケーションに動的に追加する方法
- 7. WPFでグリッドとコントロールを動的に追加
- 8. コントロールのペアを動的に追加する方法
- 9. 列の剣道グリッド行にツールチップを動的に追加する
- 10. 検証でコントロールを動的に追加する方法
- 11. タイムスタンプに間隔を動的に追加する方法は?
- 12. ASPコントロールを動的に追加する
- 13. 実行時にTableLayoutPanelに動的にコントロールを追加する
- 14. コントロールのリストにコントロールを動的に追加する
- 15. WPFのグリッドにローとコントロールを宣言的に追加
- 16. グリッド列を動的に追加
- 17. winform c#.netアプリケーションで動的に追加されたコントロールの値を変更する、動的に追加されたコントロールを追跡する方法
- 18. vb6のデータグリッドに行を動的に追加する方法
- 19. htmlテーブルに行を動的に追加する方法
- 20. 動的にhtmlテーブルに行を追加する方法
- 21. C#のデータグリッドビューに動的行を追加する方法
- 22. 剣道グリッドの各行にカスタムボタンを追加する方法
- 23. 動的に追加コントロールがポストバック
- 24. ユニティはNGUIグリッドに動的に内容を追加します
- 25. 自動的に壊れた行間にスペースを追加する
- 26. パネルレイアウトの質問にコントロールを動的に追加する
- 27. winformにコントロールの配列を動的に追加する
- 28. c#.netのユーザ選択にコントロールを動的に追加する
- 29. tabhostにコントロールを動的に追加する際の問題
- 30. サーバーサイドのイベントにコントロールを動的に追加する
これを今試してみます。ありがとう! – sean