【问题标题】:Create a table (DataGrid) in Windows 8 metro apps (C#/XAML)在 Windows 8 Metro 应用程序 (C#/XAML) 中创建表 (DataGrid)
【发布时间】:2012-08-27 00:36:55
【问题描述】:

我正在尝试创建一个这样的表:

如何使用 ListView 或 GridView 执行类似操作?我找不到添加表格标题的正确方法..

【问题讨论】:

    标签: xaml listview gridview windows-8 windows-runtime


    【解决方案1】:

    听起来不要太霸道,但我建议您从实现的细节中退后一步,更好地理解 Windows 8 UI 设计原则(以前称为 Metro)。

    熟悉"8 Traits of Great Metro Style Apps"(Build presentation by Jensen Harris。您不想“提升和转变”您以前使用的范式,而是接受平台的独特功能,例如它的触控优先性质,重新思考导航并构建一种新型应用程序。

    从实践的角度来看,XAML ListView and GridView customizing interactivity sample 是一个很好的地方,可以开始尝试如何从上面发布的内容演变为 Window 8 设计。

    最后,如果您正在寻找与上述内容更接近的东西 - 请记住,如果它没有足够紧密地遵循设计原则,它可能无法通过认证 - 您可能会找到一些帮助 in this thread

    【讨论】:

    • 谢谢吉姆。这不是我的第一个 Metro 应用程序,我知道认证过程以及它的艰难程度。但是想一想……展示表格的最佳方式是什么?当然上面的截图只是一个例子,它不会是这样的......
    • 好吧,这就是最后一个链接可能会导致的结果,但看起来要按照您想要的方式设置样式需要一些工作。如果只是标题,那可能没问题,但是如您所知,与 Metro 应用程序中的下拉菜单和复选框进行交互,看起来只是“关闭”。另一种选择是看看像 Telerik 这样的第 3 方可能有什么可以节省一些时间。
    • 谢谢,但是您能解释一下该表将如何通过认证过程吗?还有什么选择?
    • "可能无法通过认证" != "将失败" :) 这并不像你有一张桌子会失败一样明确。诚然,认证指南 (msdn.microsoft.com/en-us/library/windows/apps/jj128432.aspx) 并不特定于该级别,但您所看到的内容属于“Metro 风格的应用程序行为可预测”。根据您在此应用的开发周期中所处的位置,考虑在 Generation App (aka.ms/8in30) 注册,该应用可让您免费咨询设计师以获得反馈和替代方案。
    • 诚然,我现在正在设计我的第一个商店应用程序...实际上我已经观看了您上面列出的一些视频,这些视频是需要牢记的好概念...但是我开发业务应用,行项目数据是我的常态。在研究这个问题时,我看到很多人建议重新考虑 UI ......我完全赞成。但是还没有人给出任何可以完成显示数据的设计方案??
    【解决方案2】:

    我也想有一个这样的表(DataGrid),但我做不到。就像一次成功的尝试一样,我已经使用 ListView 实现了它,并且我已经对 Items 进行了硬编码,但必须想办法动态地完成它。我试图在此处包含 XAML 代码,但不允许这样做。所以这是我帖子的link

    这是来自上述链接的 XAML 代码:

    <ListView Grid.Row="0" HorizontalAlignment="Center" Width="300" Margin="0,20,0,0 ">
                <ListViewItem>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Width="150">Apple</TextBlock>
                        <TextBlock>100</TextBlock>
                    </StackPanel>
                </ListViewItem>
                <ListViewItem>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Width="150">Banana</TextBlock>
                        <TextBlock>2000</TextBlock>
                    </StackPanel>
                </ListViewItem>
                <ListViewItem>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Width="150">Oranges</TextBlock>
                        <TextBlock>1500</TextBlock>
                    </StackPanel>
                </ListViewItem>           
            </ListView>
    

    【讨论】:

    • 意识到这是一个旧答案——你怎么不允许包含 XAML?您应该能够在四个空格中粘贴、选择和制表符以使其输入代码格式。它可能无法正确突出显示,但应该是“允许的”。
    【解决方案3】:

    Telerik 为 Windows 8 商店应用程序提供数据网格。真的很棒。我不知道它是否也通过了认证——我们会看到,因为我现在要上传我的应用......

    这是链接: http://www.telerik.com/products/windows-8/controls/grid.aspx

    【讨论】:

    • INFO:网格应用通过了商店认证。查看我的应用程序:iLOGrabber)
    【解决方案4】:

    我在我的免费库中实现了一个 DataGrid 控件(带有排序、详细信息视图和导航事件):

    https://github.com/MyToolkit/MyToolkit/wiki/DataGrid

    WinRT (Windows 8.1):

    通用 Windows 应用(Windows 10):

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-25
      • 2014-04-05
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      相关资源
      最近更新 更多