DataGridTextColumns与DataGrid不在同一个可视化树中
如此简单的绑定
ElementName
不会在这里工作。
如果您使用的是WPF 4.0或更高版本,您可以使用
x:Reference
要绑定如下单选按钮:
<DataGrid ItemsSource="{Binding GroupsCollection}">
<DataGrid.Columns>
<DataGridTextColumn Header="Col1"
IsReadOnly="{Binding IsChecked,
Source={x:Reference DisableColumn1}}" >
</DataGridTextColumn>
<DataGridTextColumn Header="Col2"
IsReadOnly="{Binding IsChecked,
Source={x:Reference DisableColumn2}}" >
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<GroupBox>
<StackPanel>
<RadioButton x:Name="DisableColumn2"
Content="Col1 IsReadOnlyFalse, Col2 IsReadOnlyTrue"/>
<RadioButton x:Name="DisableColumn1"
Content="Col1 IsReadOnlyTrue, Col2 IsReadOnlyFalse"/>
</StackPanel>
</GroupBox>
设置
x:Name
在单选按钮上,并使用
x:Reference
.