Question

Quel serait le meilleur moyen de créer une navigation dans les données comme dans les formulaires d'accès en XAML / C #?

Devrais-je créer un contrôle utilisateur (ou même personnalisé) que je lie simplement à ma collection et dans lequel je peux placer d'autres contrôles? (d’où cette question: Contrôle utilisateur C # pouvant contient d’autres contrôles (lors de son utilisation) )

Ou puis-je construire quelque chose en dérivant ensuite de ItemsControl? comment?

Ou cela serait-il complètement différent aujourd'hui (comme "ce style de navigation est tellement l'année dernière!")?

Je suis relativement nouveau en C # et dans tous les domaines (pas la programmation en tant que telle, mais plutôt comme "langage de la femme au foyer" Access-VBA) et je ne parle pas non plus l'anglais. Donc, soyez doux =)

Était-ce utile?

La solution

Vous pouvez créer un contrôle utilisateur et y placer un ensemble de boutons (Premier, Précédent, Suivant, Dernier, etc.) et le placer dans la fenêtre principale. Deuxièmement, vous pouvez lier votre contrôle utilisateur de navigation des données à un CollectionViewSource qui vous aidera à naviguer parmi vos données.

Votre fenêtre 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>

Votre contrôle utilisateur de la navigation dans les données:

<StackPanel>
    <Button x:Name="Prev" Click="Prev_Click">&lt;</Button>
    <Button x:Name="Next" Click="Next_Click">&gt;</Button>
    <!-- and so on -->
</StackPanel>

Et vos gestionnaires de clics vont comme ceci:

private void Prev_Click(object sender, RoutedEventArgs e)
{
    ICollectionView view = CollectionViewSource.GetDefaultView(DataContext);
    if (view != null)
    {
        view.MoveCurrentToPrevious();
    }
}

J'espère que cela vous aidera.

Autres conseils

On dirait que vous recherchez un contrôle DataGrid. Microsoft publie un composant WPG DataGrid dans le cadre d’un outil WPF que vous pouvez télécharger ici: http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top