gpt4 book ai didi

wpf - DockPanel LastChildFill 调整到 MinWidth?

转载 作者:行者123 更新时间:2023-11-28 18:40:19 26 4
gpt4 key购买 nike

我尝试在 WPF 中实现一个简单的菜单栏。

这是 XAML:

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DockPanel>
<DockPanel Background="Black" VerticalAlignment="Top" LastChildFill="True" DockPanel.Dock="Top" Height="28">
<ToggleButton Content="--" Visibility="Collapsed" />
<StackPanel Orientation="Horizontal">
<Button Content="Add" />
<Button Content="Expand" />
</StackPanel>
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<TextBox Text="Search" MinWidth="80" Width="200" />
<Button Content="X" Margin="0,1,50,0" />
</StackPanel>
</DockPanel>
</DockPanel>
</Page>

它看起来不错,但是当我将页面调整为更小的宽度时,最后一个子项(带有搜索文本框的 Stackpanel)隐藏在左侧元素的后面。像这样: http://s9.postimage.org/m0tkrobwd/printscreen.png

如果文本框有足够的空间来达到其最小宽度,那么如果文本框能够自行调整大小就好了……这可能吗?

最佳答案

棘手的事情是为控件(在您的例子中为 SearchTextBox)提供对齐方式,但仍然占用最大 MaxWidth 的可用空间。感谢this answer .

<DockPanel>
<DockPanel Background="Black" DockPanel.Dock="Top" Height="28">
<ToggleButton DockPanel.Dock="Left" Content="--" Visibility="Collapsed" />
<StackPanel DockPanel.Dock="Left" Orientation="Horizontal">
<Button Content="Add" />
<Button Content="Expand" />
</StackPanel>
<Button DockPanel.Dock="Right" Content="X" />
<Border Name="Container">
<TextBox Text="Search" HorizontalAlignment="Right"
Width="{Binding ElementName=Container, Path=ActualWidth}" MaxWidth="200" />
</Border>
</DockPanel>
</DockPanel>

容器也可以是另一个控件。

关于wpf - DockPanel LastChildFill 调整到 MinWidth?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11646268/

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