gpt4 book ai didi

wpf - 如何拉伸(stretch) HeaderedContentControl 的内容?

转载 作者:行者123 更新时间:2023-12-02 04:30:23 24 4
gpt4 key购买 nike

我有一个包含 TreeView 的 HeaderedContentControl。

    <HeaderedContentControl Header="Steps" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<TreeView Name="WizardSteps" ItemsSource="{Binding WizardSteps}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<!-- Hierarchical data templates here -->
</TreeView>
</HeaderedContentControl>

尽管 HeaderedContentControl 会拉伸(stretch)以填充其父网格内的区域,但我的 TreeView 控件仅占用可用空间的一小部分。

如何让 TreeView 展开以填充 HeaderedContentControl 的内容区域?

最佳答案

HeaderedContentControl 的默认控件模板如下所示:

<ControlTemplate TargetType="{x:Type HeaderedContentControl}">
<StackPanel>
<ContentPresenter ContentSource="Header" />
<ContentPresenter />
</StackPanel>
</ControlTemplate>

StackPanel 让每个子级都有自己想要的高度,因此 TreeView 不会拉伸(stretch)。您可以将其替换为使用 DockPanel 的模板:

<HeaderedContentControl Header="Steps" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" >
<HeaderedContentControl.Template>
<ControlTemplate TargetType="HeaderedContentControl">
<DockPanel>
<ContentPresenter DockPanel.Dock="Top" ContentSource="Header" />
<ContentPresenter />
</DockPanel>
</ControlTemplate>
</HeaderedContentControl.Template>

如果你想让它更加可重用,请在 Style 中设置模板并使用 VerticalContentAlignment:

<Style TargetType="HeaderedContentControl">
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="HeaderedContentControl">
<DockPanel>
<ContentPresenter DockPanel.Dock="Top" ContentSource="Header" />
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

这样,所有 HeaderedContentControls 将默认填充其内容,并且您可以通过在单个控件上设置 VerticalContentAlignment 来覆盖它。

或者,您可以直接使用 DockPanel 而不是 HeaderedContentControl。

关于wpf - 如何拉伸(stretch) HeaderedContentControl 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3259818/

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