我有一个网格,其中取消选中/选中标题行中的框在所有行的此列中的框中的每一行上都相同。该列未绑定到视图模型,使用从此处获取的实现:http: //www.devexpress.com/Support/Center/p/E1263.aspx
这是带有复选框的列的标记。这将创建一个框,用户单击将行标记为已签名:
<dxg:GridColumn FieldName="UnboundCheck" Header="SignOff" UnboundType="Boolean" Width="85px" Visible="True" >
<dxg:GridColumn.HeaderTemplate>
<DataTemplate>
<dxe:CheckEdit Content="{Binding}" Checked="CheckEdit_Checked" Unchecked="CheckEdit_Unchecked"/>
</DataTemplate>
</dxg:GridColumn.HeaderTemplate>
</dxg:GridColumn>
用户还可以单击每个单独的复选框,但有一个新要求是首先检查用户权限。我需要根据指示用户是否有权选中该框的另一列在每一行上设置 IsEnabled。我尝试添加CellTemplate
到 GridColumn,并使用如下绑定:
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<dxe:CheckEdit Content=" hi" IsEnabled="{Binding CanBeSignedOff,RelativeSource={RelativeSource TemplatedParent},diag:PresentationTraceSources.TraceLevel=High}" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
但是绑定不起作用,并显示错误消息:
System.Windows.Data Error: 40 : BindingExpression path error: 'CanBeSignedOff' property not found on 'object' ''CellEditor' (Name='PART_CellEditor')'. BindingExpression:Path=CanBeSignedOff; DataItem='CellEditor' (Name='PART_CellEditor'); target element is 'CheckEdit' (Name=''); target property is 'IsEnabled' (type 'Boolean')
我也试过:
{Binding CanBeSignedOff,RelativeSource={RelativeSource AncestorType={x:Type dxg:GridRow}}
但是出现“在'object'''GridRow'上找不到属性”的路径错误
当列无界时,是否可以在单元格上使用绑定?