2

Silverlight 内でグリッドの列の幅を設定することは可能ですか? 2 つの列を持つグリッド (グリッド ビューではない) があります。列 A と列 B。私が達成しようとしているのは、ユーザーが ColumnA 内のボタンをクリックすると、ColumnA の幅が .01 に設定されることです。次に、ColumnB をグリッドの幅全体に拡張して、残りの領域を埋める必要があります。ドックパネルを固定または固定解除する方法と同様ですか?

これが最善の方法ですか、それともドックパネルに戻って SL に処理させるべきですか? このような小さくて一見単純なタスクには少し肥大化していると思うので、RAD コントロールを使用するよりも自分で管理することをお勧めします。

私が持っていたもう1つの考えは、グリッドスプリッターを使用することでしたが、グリッドスプリッターを使用してプログラムで列を折りたたんだり展開したりする方法がわかりませんでしたか? したがって、私の現在の苦境。どんな提案でも大歓迎です。

前もって感謝します

4

2 に答える 2

10

Name 属性を使用して、ColumnDefinition に名前を付けます。

<ColumnDefinition Width="100" Name="FooColumn"/>

次に、いつでもコードで新しい幅を割り当てることができます。

FooColumn.Width = new GridLength(1);

(編集:両方の場所で同じ名前を使用する必要がありました...おっと..あなたはアイデアを得るでしょう)

于 2011-04-13T21:52:37.260 に答える
0
Try this

<Grid x:Name="LayoutRoot" Background="White" ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>       
        <sdk:GridSplitter  />    
    </Grid>

 LayoutRoot.ColumnDefinitions.First().Width = new GridLength();
于 2011-04-13T21:59:49.313 に答える