DataGrid是UWP的替代品吗?

时间:2016-06-22 08:42:59

标签: data-binding uwp

我正在开发一款应该在PC和平板电脑上使用的UWP应用程序以及稍后在手机上使用的精简版。

在PC上我想提供两列数据,在移动设备上我打算隐藏其中一个(或者我将创建一个不同的页面),具体取决于用户的操作。

我需要的功能;数据绑定到List<T>(或任何相等的东西),过滤,排序(不重要)和选择项目,就像我之前使用Datagrid一样。

所选项目的值应显示为在两个文本框中编辑,因此我需要类似selectedItem属性的内容。此外,内容不是静态的,因为我需要能够添加和删除项目。

我可以用它做什么吗?

我已经想到了使用两个列表视图,但我想滚动将无法正常工作。

public class Items
{
   public Int32 id;
   public String name;
   public String name2;
}

List<Items> Test = new List<Items>();

3 个答案:

答案 0 :(得分:2)

我需要数据绑定到List(或任何相同的东西),过滤,排序(不重要)和选择项目

据我所知,UWP中没有内置的DataGrid控件。如果要将数据显示为表格,则必须自己完成。例如,您可以使用ListView和GridView,自定义其ItemTemplate以使其看起来像DataGrid。这是“Guidelines for list view and grid view”的良好开端。

如果您不想自己动手,可以考虑使用一些开源库。您可以使用Bing来搜索此关键字:UWP DataGrid Control

此内容也不是静态的,因为我需要能够添加和删除项目。

在UWP中,您可以使用“ObservableCollection”代替“List”,因为它已实现INotifyPropertyChanged界面,当您添加和删除项目时,它会自动更新UI。

答案 1 :(得分:1)

使用GridView,它的默认行为尽可能符合行中的项目,因此如果您的“列”宽度为500px,则只需创建1000-1400px宽的GridView,您将拥有两列和X行。

由于gridview的ItemsSource使用ObservableColletion而不是List,它可以自动对添加或删除的项目做出反应。

答案 2 :(得分:1)

现在有一个DataGrid控件是Windows社区工具包here.的一部分