Variable Bindings in WPF | I’m creating a UserControl for a rich TreeView (one that has context menus for renaming nodes, adding child nodes, etc.). I want to be able to use this control to manage or navigate any hierarchical data structures I will create. I currently have it working for any data structure that implements the following interface (the interface need not actually be implemented, however, only the presence of these members is required):



```
interface ITreeItem
{
    string Header { get; set; }
    IEnumerable Children { get; }
}

```

Then in my UserControl, I use templates to bind my tree to the data structure, like so:



```
<TextBlock x:Name="HeaderTextBlock" Text="{Binding Path=Header}" />

```

What I would like to do is define the name of each of these members in my RichTreeView, allowing it to adapt to a range of different data structures, like so:



```
class MyItem
{
    string Name { get; set; }
    ObservableCollection<MyItem> Items;
}

<uc:RichTreeView ItemSource={Binding Source={StaticResource MyItemsProvider}} 
    HeaderProperty="Name" ChildrenProperty="Items" />

```

Is there any way to expose the Path of a binding inside a UserControl as a public property of that UserControl? Is there some other way to go about solving this problem?