如何使用C#在WPF中取消选中按钮单击复选框?
我在GridControl列中有一个复选框执行某些操作后,必须在WPF中单击按钮时取消选中GridControl中的选中复选框。有什么想法吗如何使用C#在WPF中取消选中按钮单击复选框?,c#,wpf,checkbox,wpf-controls,devexpress,C#,Wpf,Checkbox,Wpf Controls,Devexpress,我在GridControl列中有一个复选框执行某些操作后,必须在WPF中单击按钮时取消选中GridControl中的选中复选框。有什么想法吗 <dxg:GridControl Name="grdInfill" Height="700" VerticalAlignment="Center"> <dxg:GridControl.Columns> <dxg:GridColumn AllowEditing="True">
<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" />
谢谢你的帮助 试试下面
<CheckBox Name="chkSelect" HorizontalAlignment="Center" IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=GlassType,Mode=TwoWay}"
绑定时使用双向模式,并将属性值GlassType设置为True false 给ur
复选框一个Uid
<CheckBox Uid="CheckAll" />
使用数据绑定。使用bool绑定复选框,然后单击“更改bool值”按钮,该值将自动更新复选框。请看一下数据绑定和InotifyPropertyChanged是否可以提供上面的示例代码?我不理解以下内容:IsChecked=“{Binding RelativeSource={RelativeSource TemplatedParent},Path=GlassType}”
。你能给我们看一下虚拟机或底层结构吗?我把它改成了:很抱歉,我从网格中的其他地方复制了它。我是WPF的新手。您能帮我清除按钮点击时的所有复选框值吗?@SHEKHARSHETE:我会试试。最后一个问题,您想通过使用或在代码隐藏中解决它吗?如何在单击按钮时重置所有复选框?如果您的绑定列表对象为复选框,则在单击按钮时,您可以循环列表并将其全部设置为真或假……它是布尔值..并且由于在datatemplate中,无法按名称访问控件..:(检查此链接我使用的是DevXPress GridControl而不是DataGrid,并已将INotifyPropertyChanged实现为当前类,并设置它对我有效的值。抱歉!第el=el.FindUid(uid)行出现错误);System.Window.UIElement不包含FindUid的定义…仍然是相同的错误!我使用的是Devecpress的GridControl,而不是DataGrid。有什么想法吗?要在单击按钮时清除所有checkxbox吗?
<CheckBox Uid="CheckAll" />
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;
}
CheckBox checkBox = myDataGrid.FindUid("chkSelect") as CheckBox;