подобная доступу навигация по данным в WPF?

1

Каким будет лучший способ создания навигации данных, например, в формах доступа в XAML/С#?

Должен ли я создать пользовательский элемент управления (или даже настраиваемый элемент управления), который я просто привязываю к своей коллекции, в которую я могу поместить другие элементы управления? (отсюда этот вопрос: С# User Control, который может содержать другие элементы управления (при его использовании))

Или я могу что-то построить, получив с этого момента ItemsControl? как?

Или это будет сделано сегодня совершенно иначе (например, "этот стиль навигации так в прошлом году!" )?

Я относительно новичок в С# и все (не программирование как таковое, но с более похожим на "домохозяйка-язык" Access-VBA), также я не являюсь носителем английского языка. Так что pls нежно =)

Теги:
navigation
wpf
data-binding
itemscontrol

2 ответа

1
Лучший ответ

Вы можете создать пользовательский элемент управления и поместить в него кучу кнопок (First, Prev, Next, Last и т.д.) и поместить их в главное окно. Во-вторых, вы можете привязать свой пользовательский элемент управления навигацией к 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">&lt;</Button>
    <Button x:Name="Next" Click="Next_Click">&gt;</Button>
    <!-- and so on -->
</StackPanel>

И ваши обработчики кликов будут выглядеть следующим образом:

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

Надеюсь, это поможет.

  • 0
    Оно работает! Я могу перемещаться по коллекции (проверил текущий элемент), но другие мои элементы управления не обновляются с текущим элементом коллекции. Это может быть только маленькая вещь, я верю ...
  • 0
    Хорошо понял. Важно, чтобы элементы управления, отображающие данные, были связаны с тем же ресурсом, что и элементы управления навигацией ...
0

Похоже, что после элемента управления DataGrid. Microsoft выпускает WPF DataGrid как часть инструментария WPF, который вы можете скачать здесь: http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047.

  • 0
    Спасибо за ваш ответ, но мне кажется, что это не то, что мне нужно. У меня есть много разных элементов управления, чтобы надеть мои формы.
  • 0
    Ах, я думал о Excel, а не о доступе. Виноват :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню