Можно ли привязать элементы элемента управления в пользовательском элементе управления к свойству, имя которого указывается с помощью привязки?
Как-то так, но без выданной ошибки:
<ItemsControl ItemsSource='{Binding Path=CheckListItems, ElementName=Root}'>
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- What should I put below to replace the inner binding? -->
<CheckBox Content='{Binding Path={Binding Path=ItemPropertyName, ElementName=Root}, Mode=OneTime}' />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Где
CheckListItems
(DP) - это набор элементов (IList<SomeCustomContainerType>)
ItemPropertyName
(DP) - это имя свойства в SomeCustomContainerType
, котороедолжен отображаться как текст флажка Root
- это имя пользовательского элемента управления
Исключением в этом случае является (как ожидается) следующее:
A 'Binding' cannot be set on the 'Path' property of type 'Binding'.
A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
По сути, я хочу передать имя свойства, текст которого должен быть как-то отображен в флажке извне.Он не должен быть привязываемым, но должен устанавливаться из XAML, потребляющего пользовательский элемент управления.