gpt4 book ai didi

c# - WPF Dockpanel 超出父级的宽度

转载 作者:行者123 更新时间:2023-11-30 13:44:47 27 4
gpt4 key购买 nike

我正在尝试在 ListView 数据模板中创建一个停靠面板,该模板占用其父选项卡控件的所有可用宽度。我首先将我的 XAML 基于 this question因此想出了这个:

<TabControl x:Name="tabControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<TabItem Header="Clipboard Buffer">
<ListView Name="clipboardListView" ScrollViewer.CanContentScroll="True">
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderThickness="2" BorderBrush="Black" CornerRadius="2,2,2,2">
<DockPanel Background="AliceBlue" Width="{Binding ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TabControl}}}">
<TextBlock Text="{Binding Text}" DockPanel.Dock="Top" />
</DockPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</TabItem>

...

这几乎可以工作,但是停靠面板似乎总是比选项卡控件中的可用空间稍宽一点,如您在此处所见。

enter image description here

我可以使用滚动条移动并看到停靠面板的末端,正如人们所期望的那样......

enter image description here

但是,如果我尝试重新调整窗体的大小,停靠面板仍然略大于选项卡控件中的可用空间量。

enter image description here

我在这里错过了什么?如何使我的停靠面板保持在其父选项卡控件的宽度内?

最佳答案

试试这个:

    <TabControl x:Name="tabControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<TabItem Header="Clipboard Buffer">
<ListView Name="clipboardListView" ScrollViewer.CanContentScroll="True" HorizontalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderThickness="2" BorderBrush="Black" CornerRadius="2,2,2,2" >
<DockPanel Background="AliceBlue" >
<TextBlock Text="asdfasdkfhkasdfkasdgfkjhdgfkuwegyfkwegfbkuweyfuksyadukfykweugbyfu" DockPanel.Dock="Top" />
</DockPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</TabItem>
</TabControl>

注意 ListView 中的 Horizo​​ntalContentAlignment="Stretch"

关于c# - WPF Dockpanel 超出父级的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34747422/

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