10 messaggi dal 18 dicembre 2012
Salve, popolo dinamicamente una ListBox cambiando la sua proprietà 'ItemsSource' a cui passo una lista di oggetti.

questa e' la lista:

            <ListBox x:Name="elementiList" Margin="10,-43,0,10" toolkit:TiltEffect.IsTiltEnabled="True">
                    <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <toolkit:WrapPanel Orientation="Horizontal" Width="600"/>
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid Loaded="loadBottone">
                            <Button  Height="200" Width="240" Tag="{Binding BindsDirectlyToSource=True}" Click="clickElemento" Background="{Binding immagine, Converter={StaticResource convertiImmagine}}"  BorderBrush="{x:Null}" Margin="-10,-10,-10,-10" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
                                <toolkit:ContextMenuService.ContextMenu>
                                    <toolkit:ContextMenu>
                                        <toolkit:MenuItem Header="Aggiungi a Start" Tag="{Binding BindsDirectlyToSource=True}" Click="aggiungiAStart"/>
                                    </toolkit:ContextMenu>
                                </toolkit:ContextMenuService.ContextMenu>
                                <Button.Content>
                                    <Grid>
                                        <TextBlock  Text="{Binding title}" Tag="{Binding id}" Margin="{Binding type,Converter={StaticResource convertiMargine}}" TextAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                                        <TextBlock Text="{Binding BindsDirectlyToSource=True, Converter={StaticResource convertiCurrentvalue}}" Margin="95,20,0,0" TextAlignment="Center" Height="82" VerticalAlignment="Top"/>
                                    </Grid>
                                </Button.Content>
                            </Button>
                            <ProgressBar IsIndeterminate="False"  HorizontalAlignment="Left" Height="24" Margin="0,-10,0,0" VerticalAlignment="Top" Width="220"/>

                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>


quale potrebbe essere la motivazione della lentezza nel caricamento della listbox?
10 messaggi dal 18 dicembre 2012
Ho capito il problema ma non sono riuscita a trovare una soluzione alternativa, il problema è qui:
<ListBox.ItemsPanel>
   <ItemsPanelTemplate>
       <toolkit:WrapPanel Orientation="Horizontal" Width="600"/>
    </ItemsPanelTemplate>
</ListBox.ItemsPanel>

E' il WrapPanel a rallentare il tutto dato che non e' virtualized. Dovrei Utilizzare un virtualizedStackPanel che pero' non mostra il layout che mi serve. Oppure un Grid che, se non erro, richiede che nei children del Grid vengano specificate le posizioni di questi all'interno della Grid. Come posso risolvere?
10 messaggi dal 18 dicembre 2012
Ho scoperto che non esiste di Default un WrapPanel Virtualized, si devo installare componenti aggiungivi a pagamento oppure lo si deve creare ereditando dalla classe VirtualizedPanel...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.