【问题标题】:How to set the IsSelected property for a treeview which contains a Textblock如何为包含文本块的树视图设置 IsSelected 属性
【发布时间】:2019-11-08 08:38:52
【问题描述】:

我创建了一个 TreeView,TreeView 内部是一个文本块:

 <TreeView x:Name="tvBelege" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="3" Grid.ColumnSpan="2" MinHeight="200" MaxHeight="300" Margin="5,5,5,5" SelectedItemChanged="TvBelege_SelectedItemChanged">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate DataType="local:Beleg" ItemsSource="{Binding Projektphasen}">
                <TextBlock Text="{Binding DisplayName}"/>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
 </TreeView>

加载对话框后,应自动选择一个项目,如下所示:

但是没有像 select 或 IsSelected 这样的 propertyfunction 可以设置。我该怎么做?

【问题讨论】:

    标签: wpf treeview textblock selected


    【解决方案1】:

    IsSelected 属性添加到您的Beleg 类并定义一个ItemContainerStyleTreeViewItem 容器的IsSelected 属性绑定到它:

    <TreeView x:Name="tvBelege" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="3" Grid.ColumnSpan="2" MinHeight="200" MaxHeight="300" Margin="5,5,5,5" SelectedItemChanged="TvBelege_SelectedItemChanged">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate DataType="local:Beleg" ItemsSource="{Binding Projektphasen}">
                <TextBlock Text="{Binding DisplayName}"/>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
        <TreeView.Resources>
            <Style TargetType="{x:Type TreeViewItem}">
                <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
            </Style>
        </TreeView.Resources>
    </TreeView>
    

    然后设置要在视图模型中选择的 Beleg 对象的属性。

    【讨论】:

    猜你喜欢
    • 2012-01-09
    • 1970-01-01
    • 2018-01-10
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2023-03-28
    相关资源
    最近更新 更多