Я пытаюсь связать заголовок DataGrid
колонки к своему собственному ContextMenu
, как это:Связывание ContextMenu с DataGrid Столбцы
<DataGrid x:Name="AllLogs">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Show/Hide Columns"
ItemsSource="{Binding ElementName=AllLogs, Path=Columns}">
<MenuItem.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}"></TextBlock>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
Его всегда посылает следующее сообщение об ошибке на выходе:
Не удается найти источник для связывания со ссылкой 'ElementName = AllLogs'. BindingExpression: Path = Столбцы; DataItem = null; целевым элементом является «MenuItem» (Name = ''); предназначаться свойство является 'ItemsSource' (тип 'IEnumerable')
EDIT: Связывание с ComboBox
работ, как ожидается,
<ComboBox ItemsSource="{Binding ElementName=AllLogs, Path=Columns}">
<ComboBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Header}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
RadGridView - это элемент управления от telerik, который является производным от DataGrid. и да, у него есть общедоступный геттер и частный сеттер! – Marshal