所以我想知道在Usercontrol /页面上将HorizontalAlignment设置为left时,是否可以在页面上拉伸扩展器。
问题是我们不想在扩展器上设置宽度,因为我们希望在调整应用程序大小时调整其大小。我们也不能在扩展器上设置最小宽度,因为我们的应用程序还具有850的最小宽度和1200的正常宽度,并且我们希望扩展器始终延伸到最大尺寸。
代码示例:
<UserControl x:Class="WpfApp1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
d:DesignWidth="1100" HorizontalAlignment="Left">
<DockPanel>
<StackPanel>
<Expander Background="LightBlue"/>
</StackPanel>
</DockPanel>
</UserControl>
我们的主要目标是创建类似下图所示的单元,其中单选按钮始终位于右侧,扩展器大小为其可用空间。
http://colinsalmcorner.com/post/parallel-testing-in-a-selenium-grid-with-vsts
答案 0 :(得分:1)
如果您使用DockPanel
,只需将其Dock
属性用于子元素,并设置LastChildFill="True"
(Expander
当然应该是最后一个子元素。)
这样的事情:
<DockPanel LastChildFill="True">
<RadioButton DockPanel.Dock="Right" Content="Active"/>
<Expander DockPanel.Dock="Left" Header="title1" Background="LightBlue"/>
</DockPanel>
答案 1 :(得分:0)
您可以将HorizontalAlignment
设置为使用控件的Stretch
吗?
<Window ...>
<Grid>
<local:Window1 HorizontalAlignment="Stretch"></local:MainWindow>
</Grid>
</Window>
(local:Window1
是您在问题中定义的用户控件)
答案 2 :(得分:0)
我们通过在扩展标头中使用列宽设置为auto和*的网格解决了问题:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>