【问题标题】:WPF How to use GridView to display a matrixWPF如何使用GridView显示矩阵
【发布时间】:2019-06-25 01:35:10
【问题描述】:

我是 WPF 编程的新手,我正在尝试将我的 python 程序转换为 UWP 应用程序只是为了练习。该应用程序可以动态创建新的文本条目和标签,以允许用户输入矩阵的条目。

我目前被困在如何创建一个网格来放置这些文本条目和标签。我认为正确的选择是使用 gridView 但我看到的示例似乎没有帮助。关于如何实现它的任何想法?

这是我目前的尝试:

<GridView x:Name="gridView" Margin="0,150,0,0">
    <GridView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}"/>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

我也在尝试访问 gridView (System.Windows.Controls) 的 Columns 属性,但似乎我使用了错误的 gridView (Windows.UI.Xaml.Controls)。但是 VS 无法为我找到正确的 gridView,因为它不存在。我对 GridView 很困惑。谁能提供一些指点?

【问题讨论】:

  • 我认为这不是stackoverflow的有效问题,您可以先学习如何使用GridView(wpf-tutorial.comwpftutorial.net),然后当您遇到具体问题时可能会来并在这里询问(在查看问题是否已经存在之后)。
  • @Siegfried.V 谢谢你的建议,但我已经找了一些例子,我不确定 GridView 是否会给我预期的结果。

标签: c# wpf gridview


【解决方案1】:

好的,所以我认为你的问题是:WPF - How to bind a GridView to a MatrixHow to display a Matrix in WPF,如果我理解你想要什么,这个link 似乎是解决如何将矩阵绑定到 DataGrid 的一个很好的解决方案。

为此,您需要:

  • ViewModel 中创建两个 ObservableCollection(或 ObservableCollection 列表 (例如 ListRows 和 ListColumns)
  • 编辑文本框时,您将通过更新相应的 ObservableCollection 来更新 ListRows 或 ListColumns

所以使用绑定,GridView 会自动更新。

但在开始之前,我需要一些关于BindingViewModelObservableCollectionConverters 的概念

【讨论】:

  • 感谢您的回答。但我的 VS 似乎没有 DataGrid。或者我正在开发的应用程序不支持 DataGrid?
  • 经过一些尝试,我发现包含 DataGrid 的包与我的应用程序不兼容。有替代品吗?
  • 您是否在 .xaml.cs 文件中使用了 System.Windows.Controls?
  • 没有。 VS 找不到。并且安装该软件包失败,因为它似乎与我的应用程序不兼容。
  • 对不起,“不兼容”是什么意思?您对如何添加程序集有一个最低限度的概念吗?试试看:选择你的项目,然后 Add->Reference,在菜单中选择 Assembly->PresentationFramework,没有那个程序集 VS 将无法识别 System.Windows.Controls。
猜你喜欢
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多