ColumnDefinition / RowDefinition のデータバインド

ColumnDefinition の Width プロパティにデータバインドするには GridLength を使用します。

this.DefaultViewModel["Width"] = GridLength.Auto;// Auto
this.DefaultViewModel["Width"] = new GridLength(100);// 100 (pixel)
this.DefaultViewModel["Width"] = new GridLength(2, GridUnitType.Star);// 2* (star)
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition Width="{Binding Width}"/>
    </Grid.ColumnDefinitions>
</Grid>

引数1つの場合は pixel 、引数2つの場合は第2引数に指定したタイプになります。
引数2つの場合は第2引数に GridUnitType.Auto や GridUnitType.Pixel を指定することも可能です。

【参考】
How do I databind a ColumnDefinition’s Width or RowDefinition’s Height?(英語)
Grid の列幅や行の高さをコードで Autoやスターにする方法


カテゴリー: Windows ストア アプリ タグ: パーマリンク