我试图在没有水平滚动条的情况下将项目内容包装到Treeview
上仍未找到最佳解决方案。在树状视图中包装TreeviewItem的TextBlock内容
这里是我与
<TreeView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<TreeViewItem IsExpanded="True">
<TreeViewItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding RelativeSource={RelativeSource AncestorType=TreeView}, Path=ActualWidth}"/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap" Text="Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here " />
</Grid>
</TreeViewItem.Header>
<TreeViewItem>
<TreeViewItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding RelativeSource={RelativeSource AncestorType=TreeView}, Path=ActualWidth}"/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap" Text="Level 2.1 Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here Level 1 (Blue) Some long text over here " Foreground="Blue" />
</Grid>
</TreeViewItem.Header>
</TreeViewItem>
</TreeViewItem>
</TreeView>
工作的示例代码段和输出
您可以看到的内容超过视图。我知道这是因为我们设置的宽度为Treeview
,而TreeviewItem
有一些缩进,但我怎样才能得到width
的最佳TreeviewItem
?
已经尝试了以下链接,没有任何运气。
- How to wrap TextBlock content in TreeView?
- How to make text wrap for a TreeView in wpf
- How to wrap TextBlock content in TreeView?
见CodeProject上的例子。这个例子使用组合框,但你可以把一个文本框,而不是:https://www.codeproject.com/Articles/14544/A-TreeView-Control-with-ComboBox-Dropdown-Nodes – jdweng