我的網格布局中需要 3 列,看起來像這樣:
- 50% 的視窗
- 其他地方
- 30 像素寬
但是我無法進行設定,你們中的任何人都知道如何實作這一點嗎?
我試圖玩弄 *,但它總是決議寬度而沒有固定寬度的列,而且看起來不太好。
所以這并沒有達到我所需要的:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
謝謝你的幫助,大衛。
uj5u.com熱心網友回復:
我將創建Grid兩列,在第二列中創建另一列Grid。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
</Grid>
</Grid>
另一種選擇是處理SizeChanged事件Window并計算第一列的寬度。
<Grid x:Name="MyGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
</Grid>
背后的代碼
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
{
MyGrid.ColumnDefinitions[0].Width = new GridLength(e.NewSize.Width / 2);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/410239.html
標籤:
