Estoy creando un UserControl para una rica TreeView (una que tiene menús de contexto para cambiar el nombre de los nodos, agregar nodos secundarios, etc.). Deseo poder utilizar este control para administrar o navegar por cualquier estructura de datos jerárquica que crearé. En este momento tengo que trabajar para cualquier estructura de datos que implementa la interfaz siguiente (la interfaz no necesita realmente ser implementado, sin embargo, sólo se requiere la presencia de estos miembros):Vinculaciones de variable en WPF
interface ITreeItem
{
string Header { get; set; }
IEnumerable Children { get; }
}
Luego, en mi control de usuario, uso de plantillas para unir mi árbol de la estructura de datos, así:
<TextBlock x:Name="HeaderTextBlock" Text="{Binding Path=Header}" />
lo que me gustaría hacer es definir el nombre de cada uno de estos miembros en mi RichTreeView, que le permite adaptarse a una variedad de diferentes estructuras de datos, como ese:
class MyItem
{
string Name { get; set; }
ObservableCollection<MyItem> Items;
}
<uc:RichTreeView ItemSource={Binding Source={StaticResource MyItemsProvider}}
HeaderProperty="Name" ChildrenProperty="Items" />
¿Hay alguna manera de exponer la ruta de una vinculación dentro de un UserControl como una propiedad pública de ese UserControl? ¿Hay alguna otra forma de resolver este problema?