我在GridControl列中有一个CheckBox。 执行某些操作后,GridControl中的选定复选框必须在WPF按钮单击时取消选中。有什么想法吗?
<dxg:GridControl Name="grdInfill" Height="700" VerticalAlignment="Center">
<dxg:GridControl.Columns>
<dxg:GridColumn AllowEditing="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<CheckBox Name="chkSelect" HorizontalAlignment="Center"
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=GlassType}"
Checked="CheckEdit_Checked"
Unchecked="CheckEdit_Unchecked" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView Name="grdInfillInner" ShowTotalSummary="True" AutoWidth="True"
DetailHeaderContent="True" ShowIndicator="False" ShowGroupPanel="False"
CellValueChanging="grdInfillInner_CellValueChanging">
<!--GroupRowTemplate="{StaticResource descriptionHeader}"-->
</dxg:TableView>
</dxg:GridControl.View>
</dxg:GridControl>
<Button Name="BtnClearAllCheckbox" Content="Clear All Checkbox" Height="20" Width="80" />
帮助感谢!
答案 0 :(得分:1)
请尝试以下.......
<CheckBox Name="chkSelect" HorizontalAlignment="Center" IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=GlassType,Mode=TwoWay}"
我猜应该有属性“GlassType”
Public Bool GlassType {get;set;}
绑定时使用TwoWay模式,并将属性值GlassType设置为True false ....
答案 1 :(得分:0)
向Uid
checkbox
<CheckBox Uid="CheckAll" />
使用此扩展方法查找dataTemplate ---&gt;
中的元素public static UIElement FindUid(this DependencyObject parent, string uid)
{
var count = VisualTreeHelper.GetChildrenCount(parent);
if (count == 0) return null;
for (int i = 0; i < count; i++)
{
var el = VisualTreeHelper.GetChild(parent, i) as UIElement;
if (el == null) continue;
if (el.Uid == uid) return el;
el = el.FindUid(uid);
if (el != null) return el;
}
return null;
}
像这样
在后面的代码中访问CheckBoxCheckBox checkBox = myDataGrid.FindUid("chkSelect") as CheckBox;