0

调整窗口大小时,如何使嵌套在 TreeView 内的 TextBlock 换行?当 TextBlock 宽度固定(即 100)时很容易做到,但当宽度可调整大小时我找不到解决方案。

下面的代码是我最接近的。TextBlocks 位于从父 TreeView 获取宽度的 WrapPanel 内。当 treeviewitems 展开时,当缩进实际上将 WrapPanel 向右“推”并隐藏最右边的文本时,它不起作用。

<TreeView 
    ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate 
            ItemsSource="{Binding KeynoteModelHierarchy, Mode=TwoWay, UpdateSourceTrigger=Explicit}">
            <WrapPanel 
                Orientation="Horizontal"
                Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=TreeView}, Path=ActualWidth}">
                <TextBlock Text="{Binding KeynoteCategoryNumber}"/>
                <TextBlock Text="{Binding IsExpanded}" />
                <TextBlock Text="{Binding KeynoteText}" 
                    TextWrapping="WrapWithOverflow"
                    HorizontalAlignment="Stretch" />
            </WrapPanel>
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

4

0 回答 0