Treeview(カスタムTreeViewコントロール)から派生したクラスで使用されるTreeviewItem(カスタムTreeViewItem)から派生したクラスがあります。
コントロールのユーザーがデフォルトのデザインタイムコレクションエディタを使用してカスタムTreeViewにアイテムを追加すると、新しく追加されたアイテムにデフォルト名(MyNode1、MyNode2など)を追加し、そのアイテムをXAMLで作成します。
これを行う方法に関するアイデアはありますか?
ツールボックスからコントロールをドロップすると、デフォルトの名前が割り当てられていることに気付きました。可能であれば、ツリーノードクラスに対してこの既存のメカニズムをVisual Studio 2010で再利用したいと思います。カスタムTreeViewItemの名前を自動生成する
答えて
TreeView
sおよびTreeViewItem
は、ユーザーインターフェイスコントロールであり、保存する必要のある種類の情報を格納するために使用しないでください。その代わりに、情報を格納する階層データ型を作成し、TreeView.ItemsSource
プロパティにバインドし、HierarchicalDataTemplate
を使用して希望のデータを表示する必要があります。
TreeView
このようにして、ビューモデルまたはコードビハインドのバインドされたコレクションに新しいデータ型オブジェクトを追加するだけで、アイテムを追加できます。コレクションに追加する前に、必要な値をオブジェクトに割り当てることができます。コレクションには、すべてアンミック時にアクセスできます。
通常のアプリケーションでは、私が直面している問題はtreeViewのように見えるカスタムコントロールを書くことですが、複雑な機能が追加されています。機能は私のフレームワークの他のアイテムに依存しています。目標は、自分のコントロールのユーザーが自分のページでそれを凍結し、一定の特性を設定していればうまくいくということです。彼がもっと高度なことをしなければならない場合、彼はいくつかのコードを書くこともできますが、ほとんどの時間は、XAMLのコントロールを編集する/エディタを使うだけで十分です。彼はHDTやデータモデルのような複雑な細部について心配する必要はありません。 – Rayden
'TreeView'をサブクラス化する必要はありますか?あなたは 'Attached Properties'で不思議をすることができます。興味がある場合は、このMSDN [article](http://msdn.microsoft.com/en-us/library/ms749011.aspx)を参照してください。 – Sheridan
概念的には私は必要ありません。添付されたプロパティは、新しいコントロール(ツリービューに基づく)を開発しているので、古いものをデフォルト状態 – Rayden
- 1. djangoの登録でDjangoのユーザー名を自動生成する
- 2. 名前NSUserDefaults自動的に
- 3. createuserwizardでユーザー名とパスワードを自動生成する方法は?
- 4. 派生自動生成エンティティークラス
- 5. C#で名前付き自動作成を作成するには?
- 6. 自動生成タイムスタンプ
- 7. 自動レター生成
- 8. 自動インラインドキュメント生成
- 9. 自動生成されたカスタムXAMLパスを左上に移動しますか?
- 10. ガスマスクにxmmレジスタ名を自動的に生成しますか?
- 11. Azureブロブストレージ - 一意のブロブ名を自動生成
- 12. Javaポリシーファイルの自動生成
- 13. サブクラスの自動生成メソッド
- 14. 自動データアクセスレイヤの生成
- 15. Hibernateマッピングファイルの自動生成
- 16. intellijのjavadoc自動生成
- 17. PDF生成の自動化
- 18. 列を自動生成するリストビュー
- 19. Maven pomを自動生成する
- 20. レールに自動インクリメントフィールドを生成する
- 21. ランダムな名前のJabber自動ログイン
- 22. ファイルシステムイベントを生成したユーザーの名前
- 23. apache cassandraでプライマリキー(自動生成シーケンス)を生成する方法
- 24. 衝突なしで自動的にファイル名を生成
- 25. 動的にオブジェクト名を生成する
- 26. 名前付きJavaScript自動POST
- 27. Gettext自動コメント生成
- 28. Eclipseで自動生成インターフェイス
- 29. Geb JUnit4自動生成テスト
- 30. スプリングブートddl自動生成器
これは確かに必要な答えではありませんが、難しいようです。これは、あなたのNameプロパティを書き込む何らかの種類のVSアドインを意味するかもしれません。ところで、なぜあなたはすべてのノードに名前が必要ですか? – NestorArturo
Blendには、「作成時にインタラクティブな要素に自動的に名前を付ける」というオプションがありますが、Visual Studioには同等のオプションがないと思います。 [リンク](http://msdn.microsoft.com/en-us/library/gg413373.aspx#ExpressionBlend) – theartwebreathe
なぜですか?名前に基づいてノードを異なる方法で扱う場合は、ノードを作成するときにIDまたは他の識別子を指定する時間が必要です。 – Rachel