navigazione dei dati simile all'accesso in WPF?
-
06-07-2019 - |
Domanda
Quale sarebbe il modo migliore per costruire una navigazione dei dati come nei moduli di accesso in XAML / C #?
Devo creare un controllo utente (o persino un controllo personalizzato) che devo solo associare alla mia raccolta in cui posso inserire altri controlli? (da qui questa domanda: Controllo utente C # che può contiene altri controlli (quando lo si utilizza) )
O posso costruire qualcosa derivando da allora ItemsControl in qualche modo? come?
O oggi questo sarebbe completamente diverso (come " questo stile di navigazione è così l'anno scorso! ")?
Sono relativamente nuovo in C # e tutti (non programmando in quanto tale, ma con più "linguaggio casalinga" e Access-VBA), inoltre, non sono madrelingua inglese. Quindi, per favore, sii gentile =)
Soluzione
È possibile creare il controllo utente e posizionare un gruppo di pulsanti (Primo, Prec, Succ, Ultimo, ecc.) e posizionarlo nella finestra principale. In secondo luogo, puoi associare il controllo utente alla navigazione dei dati a un CollectionViewSource
che ti aiuterà a navigare tra i tuoi dati.
La tua finestra principale:
<Window.Resources>
<CollectionViewSource x:Key="items" Source="{Binding}" />
</Window.Resources>
<Grid>
<WpfApplication1:DataNavigation DataContext="{Binding Source={StaticResource items}}" />
<StackPanel>
<TextBox Text="{Binding Source={StaticResource items},Path=Name}" />
</StackPanel>
</Grid>
Controllo utente per la navigazione dei dati:
<StackPanel>
<Button x:Name="Prev" Click="Prev_Click"><</Button>
<Button x:Name="Next" Click="Next_Click">></Button>
<!-- and so on -->
</StackPanel>
E i gestori dei clic vanno in questo modo:
private void Prev_Click(object sender, RoutedEventArgs e)
{
ICollectionView view = CollectionViewSource.GetDefaultView(DataContext);
if (view != null)
{
view.MoveCurrentToPrevious();
}
}
Spero che questo aiuti.
Altri suggerimenti
Sembra che tu stia cercando un controllo DataGrid. Microsoft sta rilasciando un DataGrid WPF come parte di un Toolkit WPF che puoi scaricare qui: http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047 .