Silverlight CheckBoxList / RelativeSource Проблема - PullRequest
0 голосов
/ 09 ноября 2010

Я пытаюсь создать CheckBoxList для элемента управления Silverlight, который я строю, и у меня возникают некоторые проблемы с его настройкой.

Что мне нужно, так это CheckBoxList, который оборачивает CheckBoxes вертикально в GridRow * высоты. У меня проблема в том, что я хочу указать высоту панели 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, но они либо многословны, либо я не могу заставить их работать.

Конечно, есть простой способ установить высоту панели WrapPanel в Silverlight?

1 Ответ

0 голосов
/ 16 марта 2011

В случае, если кто-то сталкивается с этим и еще не знает, RelativeSource добавляется в Silverlight 5

...