C# 如何在UWP XAML GridView或ListView中自动生成列?

C# 如何在UWP XAML GridView或ListView中自动生成列?,c#,xaml,uwp,windows-10-universal,C#,Xaml,Uwp,Windows 10 Universal,在Windows 10 UWP应用程序中,我希望将简单对象的集合绑定到GridView或ListView,并让GridView或ListView根据对象的属性自动生成列,而不必手动在XAML中的TextBlock上声明列和{Binding Path=SomePropertyName} 这看起来不可能。。是吗 除了GridView或ListView之外,是否有其他类型的控件允许这种行为 注意:这不是WPF;DR:使用GridView或ListView控件,这是不可能的 在UWP中,GridView

在Windows 10 UWP应用程序中,我希望将简单对象的集合绑定到GridView或ListView,并让GridView或ListView根据对象的属性自动生成列,而不必手动在XAML中的TextBlock上声明列和{Binding Path=SomePropertyName}

这看起来不可能。。是吗

除了GridView或ListView之外,是否有其他类型的控件允许这种行为

注意:这不是WPF;DR:使用
GridView
ListView
控件,这是不可能的

在UWP中,
GridView
是:

以行和列显示数据项的控件

列表视图
非常相似,但仅显示了堆叠在一个维度上的项目,默认情况下是垂直的

DataGrid
控件(通常称为)当前(自SDK构建14393起)在默认控件集中不可用。通过“一些”努力,您可以为这种行为编写自己的控件

然而,有多种第三方解决方案可用,只有针对UWP DataGrid的google/bing。以下是其中一些:

  • NuGet软件包,更多信息请访问他们的页面
可能需要付费订阅/许可证的库:


您可能会找到更多的替代方案。

您能用c#而不是xaml编写它吗?如果您可以在类的构造函数之外访问容器(gridview或您使用的任何东西),那么这也许是可能的。我不完全确定您是否可以生成一个新的网格并动态切换,但您可以轻松地进行测试。

感谢bart确认无法使用框架附带的任何当前可用的“开箱即用”控件。因此,您的意思是在代码中创建控件,使用反射查看列表中每个对象的属性,并以编程方式添加行和列?我考虑过这一点,但希望有一个控件可以像以前在WinForms中那样自动生成列,我认为WPF。是的,没错。我不完全确定这是否可能,我只熟悉android/iOS的xamarin.forms。我确实认为这两个是可能的。嗨,你找到解决办法了吗?