Domanda

Sto tyring di costruire un CheckBoxList a un controllo Silverlight sto costruendo e sto avendo qualche difficoltà a raggiungere nel modo giusto.

Quello che sto cercando, è un CheckBoxList che avvolge le caselle in verticale all'interno di un GridRow di altezza *. Il problema che ho è che voglio specificare l'altezza del WrapPanel essere quello della riga è all'interno.

In WPF sembra il seguente:

<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 non supporta RelativeSource allo stesso modo, quindi sono in grado di farlo nello stesso modo ho fatto con WPF. Ho visto alcuni arounds di lavoro per RelativeSource, ma sono entrambi in maniera massiccia verbous o io non riesco a farli lavorare.

Sicuramente c'è un modo semplice per configurare l'altezza del WrapPanel in Silverlight?

È stato utile?

Soluzione

Nel caso qualcuno si imbatte in questo e non già sanno, RelativeSource viene aggiunto in Silverlight 5

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top