подобная доступу навигация по данным в WPF?
-
06-07-2019 - |
Вопрос
Как лучше всего построить навигацию по данным, как в формах доступа в XAML / C #?
Должен ли я создать пользовательский элемент управления (или даже пользовательский элемент управления), который я просто привязываю к своей коллекции, в которую я могу поместить другие элементы управления? (отсюда этот вопрос: C # пользовательский элемент управления, который может содержать другие элементы управления (при его использовании) )
Или я могу что-то построить, наследуя каким-то образом ItemsControl? как?
Или это будет сделано сегодня совершенно иначе (например, «этот стиль навигации такой же, как в прошлом году!»)?
Я относительно новичок в C #, и все (не программирование как таковое, но с более похожим на "домохозяйка-язык" Access-VBA) также не являюсь носителем английского языка. Так что будьте нежны =)
Решение
Вы можете создать пользовательский элемент управления и поместить в него несколько кнопок («Первая», «Предыдущая», «Следующая», «Последняя» и т. д.) и разместить их в главном окне. Во-вторых, вы можете привязать свой пользовательский элемент управления навигацией к данным к CollectionViewSource
, который поможет вам перемещаться по вашим данным.
Ваше главное окно:
<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>
Пользовательский элемент управления навигацией данных:
<StackPanel>
<Button x:Name="Prev" Click="Prev_Click"><</Button>
<Button x:Name="Next" Click="Next_Click">></Button>
<!-- and so on -->
</StackPanel>
И ваши обработчики кликов выглядят так:
private void Prev_Click(object sender, RoutedEventArgs e)
{
ICollectionView view = CollectionViewSource.GetDefaultView(DataContext);
if (view != null)
{
view.MoveCurrentToPrevious();
}
}
Надеюсь, это поможет.
Другие советы
Звучит так, будто вы после элемента управления DataGrid. Microsoft выпускает WPF DataGrid в составе набора инструментов WPF, который вы можете загрузить здесь: http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047 .