TreeView с флажками для выбранных узлов - PullRequest
0 голосов
/ 31 августа 2011

Я работаю с приложением, которое использует TreeView.Я хочу, чтобы у некоторых узлов были флажки, но не у всех.Я знаю, что могу сделать:

    treeView.CheckBoxes = true;

Но тогда все узлы имеют checkBox.Как я могу добавить checkBox только для выбранных узлов?

Ответы [ 2 ]

1 голос
/ 31 августа 2011

Глядя на класс TreeNode , кажется, что вам придется реализовать пользовательскую функцию OnDrawNode и выполнить некоторые манипуляции Tag.

Пример: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/9fbc737b-8385-4285-aa80-0e4602ff5b9b/

0 голосов
/ 31 августа 2011

Вам необходимо создать новый шаблон для вашего дерева или элементов данных.

Примерно так:

<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>

edit: Очевидно, это для WPF. Если вы используете WinForms, то это не поможет. К сожалению.

...