2010-11-09 74 views
0

我正在构建一个CheckBoxList到一个Silverlight控件我正在构建,并且遇到了一些麻烦。Silverlight CheckBoxList/RelativeSource问题

我之后是一个CheckBoxList,它在* GridRow *高度内垂直包装CheckBox。我遇到的问题是我想将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的高度?

回答

0

如果有人遇到这种情况并且不知道,Silverlight 5中将添加RelativeSource