0

構築中の Silverlight コントロールに CheckBoxList を構築するのに苦労していますが、正しく取得するのに問題があります。

私が求めているのは、* 高さの GridRow 内で CheckBoxes を垂直にラップする CheckBoxList です。私が抱えている問題は、WrapPanel の高さをそれが含まれる行の高さに指定したいということです。

WPF では、次のようになります。

<ScrollViewer BorderThickness="0"
              HorizontalScrollBarVisibility="Auto" 
              VerticalScrollBarVisibility="Hidden" >
    <ItemsControl Name="ic">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <toolkit:WrapPanel Orientation="Vertical"
                                    Height="{Binding Path=ActualHeight,
                                            RelativeSource={RelativeSource Mode=FindAncestor, 
                                            AncestorType={x:Type ScrollContentPresenter}}}" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <CheckBox Content="{Binding Path=Description}" Margin="0,0,10,2" FontSize="12"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</ScrollViewer>

Silverlight は RelativeSource を同じ方法でサポートしていないため、WPF で行ったのと同じ方法でそれを行うことはできません。RelativeSource のいくつかの回避策を見てきましたが、それらは非常に冗長であるか、機能させることができないようです。

Silverlight で WrapPanel の高さを設定する簡単な方法はありますか?

4

1 に答える 1

0

誰かがこれに遭遇し、まだ知らない場合のために、RelativeSource は Silverlight 5 に追加されています。

于 2011-03-16T16:40:53.687 に答える