使WPF中的复选框默认为选中状态

eblbsuwk  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(247)

我在一个WPF页面中有一个DataGrid。为了使它可以立即点击,我没有使用<DataGridCheckboxColumn>,而是使用了一种不同的方式:

<DataGrid.Columns>
   <DataGridTextColumn Header="PathID" Binding="{Binding Path.PathID}" Width="2*"/>
   <DataGridTextColumn Header="Path" Binding="{Binding Path}" Width="5*"/>
   <DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="1*"/>
   <DataGridTextColumn Header="Item Name" Binding="{Binding Item}" Width="3*"/>
   <DataGridTextColumn Header="Type" Binding="{Binding Type}" Width="1*" IsReadOnly="True"/>
   <DataGridTemplateColumn Header="Write">
      <DataGridTemplateColumn.CellTemplate>
         <DataTemplate>
            <CheckBox IsChecked="{Binding Path=IsWriteChecked ,UpdateSourceTrigger=PropertyChanged}"></CheckBox>
         </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
   </DataGridTemplateColumn>
   <DataGridTextColumn Header="Write Value" Binding="{Binding WriteValue}" Width="2*" IsReadOnly="True"/>
</DataGrid.Columns>

这个复选框列(名为Write)是我希望默认选中的列,但我不确定如何实现。通常我会使用IsChecked = true,但我用于单击框的代码示例可在此处找到:https://mikeborozdin.com/post/wpf-datagrid-checkbox-single-click-checkingunchecking/
这使得我使用IsChecked来设置绑定,而不是将其设置为True。有人知道我将如何在这里默认选中这些框吗?

gmxoilav

gmxoilav1#

只需在构造函数中将视图模型中的IsWriteChecked赋值为true,或者在初始化它时赋值。

public bool IsWriteChecked {get;set;} = true

相关问题