【发布时间】:2014-02-02 11:44:27
【问题描述】:
我有以下 XAML,在网格单元格中,我尝试让按钮仅使用它需要的空间,停靠在右侧,停靠在左侧,文本框占据该单元格中的剩余空间.
<Grid Height="Auto" Width="Auto" Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="290"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
...
<DockPanel Grid.Column="1" Grid.Row="4">
<TextBox Name="txtSelectedViewUrl" Text="{Binding Url}" IsEnabled="{Binding EditMode}"/>
<Button Name="btnTestUrl" Content="Test" Click="btnTestUrl_Click_1" DockPanel.Dock="Right"/>
</DockPanel>
...
</Grid>
相反,我得到以下信息:当最初为空时,文本框几乎不可见,我只需单击它即可开始输入。按钮占据了整个空间。当我在文本框中键入时,按钮的宽度会减小,从而为文本框留出空间来增长。当您认为按钮已达到其最小尺寸时,它不会停在那里,它会继续,直到文本框占据整个单元格并且按钮变得不可见。至少文本框不会溢出...
我尝试了各种方法,但无法让停靠面板布局在这里工作。我正在寻找从右到左流动的堆栈面板可以提供帮助的解决方案,但是在搜索如何让最后一个元素填充剩余空间时,我最终找到了建议停靠面板是解决方案的线程!
【问题讨论】: