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. FactoryGirlは自動生成ファイルの名前を変更します
- 2. Kubernetesのネームスペースの自動生成シークレットトークンの特定の名前
- 3. quasarを使って名前と姓を使用して名前を自動生成する方法
- 4. PHPは自動入力関数の名前を生成します
- 5. djangoの登録でDjangoのユーザー名を自動生成する
- 6. C# - 変数の名前で新しいプロパティを自動的に生成
- 7. sql xml生成ファイルのExcelでカスタム自動ヘッダーを表示
- 8. createuserwizardでユーザー名とパスワードを自動生成する方法は?
- 9. 名前NSUserDefaults自動的に
- 10. SQL Server:自動生成カスタム形式のシーケンス番号
- 11. Typescriptの名前生成メカニズム
- 12. DynamoDBのUUIDを自動生成する
- 13. Pythonのラッパークラスを自動生成する
- 14. フィールド生成メソッドの自動生成
- 15. C#で名前付き自動作成を作成するには?
- 16. 派生自動生成エンティティークラス
- 17. 自動生成テキストボックス
- 18. 自動レター生成
- 19. 自動インラインドキュメント生成
- 20. 自動生成タイムスタンプ
- 21. 自動生成されたカスタムXAMLパスを左上に移動しますか?
- 22. ガスマスクにxmmレジスタ名を自動的に生成しますか?
- 23. TreeViewItemラップの一部を作成する
- 24. Azureブロブストレージ - 一意のブロブ名を自動生成
- 25. Oracleの自動パーティショニング - パーティションの名前パターン
- 26. Laravelルーティング名前|可能な限り一致するようにURLを自動的に生成する
- 27. 列を自動生成するリストビュー
- 28. Gatlingシナリオを自動生成する
- 29. Maven pomを自動生成する
- 30. logstashで自動インクリメントシーケンスを生成する
これは確かに必要な答えではありませんが、難しいようです。これは、あなたのNameプロパティを書き込む何らかの種類のVSアドインを意味するかもしれません。ところで、なぜあなたはすべてのノードに名前が必要ですか? – NestorArturo
Blendには、「作成時にインタラクティブな要素に自動的に名前を付ける」というオプションがありますが、Visual Studioには同等のオプションがないと思います。 [リンク](http://msdn.microsoft.com/en-us/library/gg413373.aspx#ExpressionBlend) – theartwebreathe
なぜですか?名前に基づいてノードを異なる方法で扱う場合は、ノードを作成するときにIDまたは他の識別子を指定する時間が必要です。 – Rachel