下面是一個相當常見的UI模式:包含左側路徑和右側的瀏覽按鈕的文本框。如果窗口調整大小,按鈕將保持在右側,但文本框會伸展以顯示更多/更少的路徑。因此,在錨的美好時代,按鈕將固定在右側,而文本框將固定在左側和右側。在可伸縮WPF窗口的一條線上佈局兩個控件
試圖在WPF中複製這個似乎是令人擔憂的困難。
如果我創建了一個新窗口,默認情況下它帶有一個網格佈局。我把我的文本框放在左邊,並適當調整大小,然後將按鈕放在右邊。文本框的HorizontalAlignment是Stretch,按鈕是Right。
在我看來,它的工作原理與實際情況相同,但在現實生活中,文本框根本沒有調整大小,而是試圖將自己置於窗口中,而按鈕按預期行事。是什麼賦予了?
這是我的XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="241" d:DesignWidth="414" SizeToContent="WidthAndHeight">
<Grid>
<TextBox Height="23" HorizontalAlignment="Stretch" Name="textBox1" VerticalAlignment="Top" Margin="12,11,101,0" />
<Button Content="Button" Height="23" HorizontalAlignment="Right" Margin="0,11,12,0" Name="button1" VerticalAlignment="Top" Width="75" />
</Grid>
</Window>