带复选框的treeView选择节点

本文关键字:选择 节点 treeView 复选框 | 更新日期: 2023-09-27 18:07:11

我正在使用使用TreeView的应用程序。我想要一些节点复选框,但不是全部。我知道我能做到:

    treeView.CheckBoxes = true;

但是所有节点都有checkBox。我如何添加复选框仅为选定的节点?

带复选框的treeView选择节点

查看TreeNode类,似乎您必须实现自定义OnDrawNode函数并执行一些Tag操作。

示例:http://social.msdn.microsoft.com/forums/en-US/winforms/thread/9fbc737b-8385-4285-aa80-0e4602ff5b9b/

您需要为您的treeviewitem或您的数据项创建一个新的模板。

像这样:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <CheckBox Grid.Column="0" x:Name="checkBox" Visibility="Hidden"/>
    <ContentPresenter Grid.Column="1"/>
</Grid>
<ControlTemplate.Triggers>
    <Trigger Property="IsSelected" Value="True">
        <Setter TargetName="checkBox" Property="Visibility" Value="Visible"/>
    </Trigger>
</ControlTemplate.Triggers>

编辑:显然,这是为WPF。如果您正在使用WinForms,那么这将没有任何帮助。对不起。