FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: スポンサー広告

相性の悪い組み合わせ

Gridパネルの列は、外の任意の列と幅(Width)を共有することができる。単一Gridだけでなく、他のGridとも共有可能である。
-共有したいGridを囲むコントロールに、Grid.IsSharedSizeScopeプロパティを設定する。
-ColumnDefinitionにSharedSizeGroupを設定する。
検索条件や、編集項目の位置を揃えるのに非常に便利な機能である。
ただし、便利なのだけど、非常に相性の悪い添付プロパティがいる。
それは、Grid.ColumnSpanプロパティである。
<Grid Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="CapGrp"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBox Grid.ColumnSpan="2" Text=""/>
</Grid>

SharedSizeGroupに同じ値が設定されたColumnDefinitionを集め、そこにあるコントロールの幅を取得して、都度幅を計算しているらしい。そこに、複数の列にまたがるColumnSpanを持ったコントロールがあると、幅の計算(Measure)と描画(Render)が暴走するようなのだ。
そう、暴走。他のコマンドすら受け付けなくなるほどに暴走する。よく落ちないものだと感心するけど、せめて警告を発してほしい。
ビルドには警告すら出ない。経験則でしかわからないので、メモっておく。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。