gpt4 book ai didi

c# - TreeViewItem 中的背景不是全宽

转载 作者:行者123 更新时间:2023-11-30 17:54:01 24 4
gpt4 key购买 nike

我是 WPF 表单的新手,在尝试在 TreeViewItem 中设置背景时遇到了一个问题。

<Window x:Class="wpf_test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<!--Styles-->
<Style x:Key="GUIEntity" TargetType="{x:Type Control}">
<Setter Property="MinWidth" Value="150" />
<Setter Property="MaxWidth" Value="150" />
</Style>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="True" />
</Style>
<!--Data Sources-->
<x:Array x:Key="BooleanListData" Type="sys:String" xmlns:sys="clr-namespace:System;assembly=mscorlib">
<sys:String>True</sys:String>
<sys:String>False</sys:String>
</x:Array>
</Window.Resources>
<Grid>
<TreeView Name="treeView1" Margin="5" Background="Azure">
<TreeViewItem Header="ComplexTypeProperty" Margin="5">
<CheckBox Style="{StaticResource GUIEntity}" Margin="3,3,10,3" Content="Instance" />
<StackPanel Orientation="Horizontal" Background="LightGray">
<Label Margin="0,2,0,0" Content="IsBoolProperty" Width="150" />
<ComboBox Margin="5" Style="{StaticResource GUIEntity}" ItemsSource="{StaticResource BooleanListData}" />
</StackPanel>
</TreeViewItem>
</TreeView>
</Grid>
</Window>

问题是在 StackPanel 中设置的背景没有达到 TreeView 控件的整个宽度(向右)。我尝试将 Horizo​​ntalAllignment="Stretch" 添加到 TreeView 向下的所有控件,但没有效果。 StackPanel 上背景的宽度仅延伸到 ComboBox 的末尾。

通过在 TreeView 上设置背景,我确认它确实占据了表单的整个宽度,所以这不会成为问题。

有谁知道如何将背景扩展到 TreeView 大小的末尾?

我将如何以最简单的方式覆盖此网格?

最佳答案

这是一篇涵盖问题并提供解决方案的博文。据我所知,它对我来说工作正常。基本上您需要重新模板化 TreeViewItem。很多 Xaml,但我认为这是唯一合适的解决方案

https://leecampbell.com/2009/01/14/horizontal-stretch-on-treeviewitems/

关于c# - TreeViewItem 中的背景不是全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16374182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com