0

列定義に続くグリッド幅があります:

<Grid.ColumnDefinitions>
        <ColumnDefinition MinWidth="320" MaxWidth="450" Width=".32*"/>
        <ColumnDefinition MinWidth="200" Width="Auto"/>
        <ColumnDefinition MinWidth="200" Width="Auto"/>
        <ColumnDefinition Width="Auto"/> <- (4) should fill all available space
        <ColumnDefinition MinWidth="250" MaxWidth="300" Width=".20*"/>
</Grid.ColumnDefinitions>

問題は、列(4)で幅を[自動]に設定すると、その幅がゼロになり、最後の列が3番目の列の隣にあることです。最後の列をアプリの右端に配置し、最初の3列を左に配置したいと思います。

また、(4)幅をstar(*)に設定することもできません。明らかに、最初と最後の列に対して比較的伸びています。

私はしばらくの間、水平方向の配置を試みてきましたが、その結果、コンテンツが列の幅を埋めていません。コンテンツの幅を列の幅またはそのようにバインドすることもできますが、(4)列の残りのスペースをすべて埋める簡単な方法があるかどうか知りたいです。

4

1 に答える 1

2

加重平均を表す (*) をよく理解していないと思います。

あなたの場合はそうです。

<Grid.ColumnDefinitions>
     <ColumnDefinition MinWidth="320" MaxWidth="450" Width="3*"/>
     <ColumnDefinition MinWidth="200" Width="Auto"/>
     <ColumnDefinition MinWidth="200" Width="Auto"/>
     <ColumnDefinition Width="5*"/>
     <ColumnDefinition MinWidth="250" MaxWidth="300" Width="2*"/>
 </Grid.ColumnDefinitions> 

列 (4) を小さくしたい場合は、 * 重みを減らして、好きなところを増やします。

それが役に立てば幸い...

于 2012-04-20T10:48:49.870 に答える