在XAML / C#中以访问形式构建数据导航的最佳方法是什么?
我应该构建一个用户控件(甚至自定义控件),我只是绑定到我可以放置其他控件的集合中吗? (因此这个问题:C# User Control that can contain other Controls (when using it))
或者我可以通过以某种方式从ItemsControl派生来构建一些东西吗?如何?
或者今天这样做会完全不同(比如“这种导航方式去年就是这样!”)?
我对C#和所有人都比较陌生(不是这样的编程,但更像是“家庭主妇 - 语言”Access-VBA)我也不是母语为英语的人。所以请温柔=)
答案 0 :(得分: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"><</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();
}
}
我希望这会有所帮助。
答案 1 :(得分:0)
听起来像是在DataGrid控件之后。 Microsoft正在发布WPF DataGrid作为WPF工具包的一部分,您可以在此处下载:http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047。