我想要一个有两列的 WPF 面板,其中第二列是固定宽度,位于第一列的右侧。第一列是自动调整大小的。我希望第二列总是在第一列之后,但也不要在窗口(或父元素)变得太窄并且只有第一列或第一列的一部分适合时迷路。
当我像这样使用 DockPanel 时:
<DockPanel DockPanel.Dock="Top">
<Label Content="I am autosize" DockPanel.Dock="Left" />
<Label Content="I come right after the first column" />
</DockPanel>
第一列是可见的,第二列紧随其后,当我开始调整窗口大小以使其更窄时,首先,第二列被裁剪直到消失,第一列被裁剪。
当我使用这个时:
<DockPanel DockPanel.Dock="Top">
<Label Content="I come right after the first column" DockPanel.Dock="Right" />
<Label Content="I am autosize" />
</DockPanel>
第二列开始被裁剪,但是当窗口足够宽时,它不是在填充停靠第一列之后,而是停靠在右侧。第一列不是自动调整大小的。
当我尝试使用网格时,结果基本相同。当我将列宽设置为 *、20、* 时,它不起作用,*、20、Auto 也不会让它完全按照我想要的方式运行。
是否甚至可以使用一些面板(DockPanel,最好是)和布局属性组合来使我的第二列总是立即出现在第一列的右侧,但是当它们的两个宽度组合大于时,也可以使第一列首先裁剪父元素宽度,所以在这种情况下,第二列似乎是右停靠而第一列是完全停靠的?
谢谢!