私は、自動サイズ調整したいダイアログボックスにコントロール群を持っています。均等に間隔を置いたグリッドの幅を使って物事を再調整しようとするまで、すべてうまくいきました。ここで親のサイズが定義されていないとグリッドの幅「*」が期待どおりに動作しない
はXAMLです:私は期待してい何
ない:
<Grid Margin="20" >
<Grid.RowDefinitions>
<RowDefinition Height="AUTO" />
<RowDefinition Height="AUTO" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid>
...left controls
</Grid>
<Border BorderThickness="1" BorderBrush="Gray" Grid.Column="1" Margin="0,10,0,5">
...right controls
</Border>
<Grid Grid.Row="2" Grid.ColumnSpan="2>
...okay and cancel
</Grid>
</Grid>
ここでの結果です。右の列は小さな幅を持ちますが、何らかの理由で「*」を聞いておらず、他の列の半分と同じにしています。
私は最高のグリッド上Width="450"
を置く場合、またはUserControl(!または実行時に、それはに座ってウィンドウのサイズを変更)すべてが「ジャンプ」と私は両方の列が均等に配置、期待していものを手に入れる:
しかし、今では、大きなサイズのコンテンツのサイズ変更や自動サイズには反応しません(親コンテナが伸びても伸びないことを除いて)。同じ間隔の後に共有サイズグループ。私が間違ってやっていることはありますか?Width="*"
のこの予期した動作ですか?
@Joeは何か質問をしてください。私の返事があなたに役立つと感じたら、私の返事を答えとしてマークして、将来の他の人の検索を簡単にすることができます。してください、これを読んでhttp://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – StepUp
問題は、私は、初期ウィンドウでSizeToContentを使用して使用しています(それはジェネリックダイアログウィンドウですビューが動的に追加されているので、すべてのダイアログに設定することはできないので、ユーザーがサイズを変更するまで「*」サイズを尊重しないでください。 – Joe