我是一个新的WPF启动器,并且在实现小事情时遇到了问题。WPF基于可观察集合属性禁用DataGridCheckBoxColumn
我有一个具有一个ObservableCollection 订单一个ViewModel和具有两个道具
- IsSelected(以指示命令已网格被选中)
- EnableOrder(以指示是否可以选择的顺序)。
但是,当Orders/EnableOrder为false时,复选框不会被禁用。
<DataGrid ItemsSource="{Binding Orders}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding IsSelected}">
<DataGridCheckBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="IsEnabled" Value="{Binding Orders/EnableOrder}" />
</Style>
</DataGridCheckBoxColumn.CellStyle>
</DataGridCheckBoxColumn>
</DataGrid.Columns>
</DataGrid>
它工作时,我硬编码假像下面
<DataGrid ItemsSource="{Binding Orders}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding IsSelected}">
<DataGridCheckBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="IsEnabled" Value="False" />
</Style>
</DataGridCheckBoxColumn.CellStyle>
</DataGridCheckBoxColumn>
</DataGrid.Columns>
</DataGrid>
我也没能为以下指定绑定为EnableOrder不在XAML intellisense中可见。
<Setter Property="IsEnabled" Value="{Binding EnableOrder}" />
请注意,有迹象表明我有网格内和绑定的工作没有任何问题
我会想象intellisense不会拉起EnableOrder,因为你在一个样式中,该样式可能适用于可能有不同的DataContexts的多个项目。因此,如果您绑定到EnableOrder,即使没有任何智能感知,您是否仍然可以构建和运行,如果是这样,它是否工作? –
忽略智能感知,我能够得到它的工作。 –