リッチツリービュー(ノードの名前変更、子ノードの追加などのコンテキストメニューを持つもの)のUserControlを作成しています。このコントロールを使用して、作成する階層データ構造を管理またはナビゲートすることができます。私は、テンプレートを使用して、私のUserControlに続いてWPFの変数バインディング
interface ITreeItem
{
string Header { get; set; }
IEnumerable Children { get; }
}
:私は現在、それは次のインターフェイスを(インターフェイスが実際に実装する必要はありません、しかし、これらのメンバーの存在のみが必要とされる)を実装し、任意のデータ構造のために働いてきましたデータ構造への私のツリーをバインドするために、そのような:私がやりたい何
<TextBlock x:Name="HeaderTextBlock" Text="{Binding Path=Header}" />
は、異なるデータ構造の範囲に適応することができ、私のRichTreeViewにこれらのメンバーのそれぞれの名前を定義しています、そうですね:
class MyItem
{
string Name { get; set; }
ObservableCollection<MyItem> Items;
}
<uc:RichTreeView ItemSource={Binding Source={StaticResource MyItemsProvider}}
HeaderProperty="Name" ChildrenProperty="Items" />
そのUserControlのパブリックプロパティとして、UserControl内のバインディングのパスを公開する方法はありますか?この問題を解決する別の方法がありますか?