/ / Qual è il modo migliore per aggiungere un controllo dell'interfaccia utente nella griglia in fase di esecuzione? - c #, xaml, windows-runtime

Qual è il modo migliore per aggiungere un controllo ui nella griglia in fase di runtime? - c #, xaml, runtime di Windows

Potrebbe essere una domanda di base. Ma non riesco a capirlo dopo diverse ore di ricerca. Ho una pagina dei dettagli dell'articolo. Voglio aggiungere un'altra griglia ogni volta che la vista di scorrimento raggiunge il fondo a destra. In questo momento ho parzialmente raggiunto questo obiettivo aggiungendo una colonna in xaml e attivando la sua proprietà di visibilità.

<Grid x:Name="body" Style="{StaticResource LayoutRootStyle}">

<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>

<Grid x:Name="dynamicGrid" Grid.Column="1" Grid.RowSpan="2" Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition Height="80"/>
<RowDefinition Height="360"/>
<RowDefinition Height="360"/>
</Grid.RowDefinitions>
<TextBlock .../>
<GridView .../>
<GridView .../>
</Grid>

E nel codice dietro

if (//Reach the right side)
{
if (related.Visibility == Visibility.Collapsed)
{
related.Visibility = Windows.UI.Xaml.Visibility.Visible;
}
}

if (// Move away from right border)
{
related.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
}

Funziona fino a un certo punto. Ma l'animazione è nervosa. A volte, lo scrollviewer si rifiuta persino di tornare all'inizio. Immagino che il problema sia quando aggiungo / rimuovo il controllo dell'interfaccia utente in fase di esecuzione, lo scrollviewer non lo gestisce abbastanza bene.

Mi chiedo c'è un modo migliore per ottenere questa funzione? Qualsiasi suggerimento è accolto.

risposte:

0 per risposta № 1

È possibile aggiungere un controllo figlio in una griglia chiamando grid.Children.Add (newChildControl). È inoltre possibile assegnare il controllo figlio a una riga / colonna / intervallo specifica chiamando Grid.SetRow / Column / RowSpan / ColumnSpan.