這個問題在這里已經有了答案: DataGridCheckBoxColumn IsReadOnly 屬性系結 1 個回答 3天前關閉。
為什么我可以像這樣為我的 DataGrid 設定系結:
<DataGridCheckBoxColumn Header="Include" Binding="{Binding isSelected}"/>
但是當我添加“IsReadOnly”時
<DataGridCheckBoxColumn Header="Include" IsReadOnly="{Binding isSelected}" Binding="{Binding isSelected}"/>
它在“IsReadOnly”上給我一個警告,說沒有找到資料背景關系。
uj5u.com熱心網友回復:
IsReadOnly指所有專案,因此對應的資料背景關系比 高一級Binding,后者指的是表中的特定物件。因此,您需要像這樣手動定義單元格模板以專門禁用某些單元格:
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<CheckBox IsChecked="{Binding isSelected, Mode=TwoWay}"
IsEnabled="{Binding isSelected}"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
另請參閱this question,它基本上描述了相同的問題。
uj5u.com熱心網友回復:
這可能是 Element 樣式的問題。此元素是否可以從其渲染內容的某些部分作為命中測驗結果回傳。
嘗試將ElementStyle元素添加到您的DataGridCheckBoxColumn
<DataGridCheckBoxColumn Header="Include" IsReadOnly="{Binding isSelected}" ElementStyle="{StaticResource ReadOnlyCheckBoxStyle}" Binding="{Binding isSelected}"/>
和下面的風格
<Style x:Key="ReadOnlyCheckBoxStyle" TargetType="{x:Type CheckBox}">
<Setter Property="IsHitTestVisible" Value="False"/>
</Style>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/456543.html
