【问题标题】:How to bind a datatable inside an object to a datagrid in XAML?如何将对象内的数据表绑定到 XAML 中的数据网格?
【发布时间】:2019-01-17 14:07:32
【问题描述】:

我有一个视图模型类,其中的数据表是另一个模型类的一部分。我想将它绑定到 XAML 中的数据网格。我刚刚开始学习 MVVM。任何帮助将不胜感激。

我的模特班:

 public class AllResultsModel
  {
    private DataTable _allresultsgrid;

    private int _numberofrows;
    public DataTable AllResultsGrid
    {
        get { return _allresultsgrid; }
        set { _allresultsgrid = value; }
    }

    public int NumberOfRows
    {
        get { return _numberofrows; }
        set { _numberofrows = value; }
    }
}

ViewModel.cs:

 private AllResultsModel _allresultstable;
 public AllResultsModel AllResultsTable
    {

        get { return _allresultstable; }
        set
        {
            _allresultstable = value;
        }
    }

XAML:

<DataGrid Name="results_grid" IsReadOnly="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Margin="10" ItemsSource="{Binding AllResultsTable}" DisplayMemberPath="AllResultsGrid" ColumnWidth="100" RowHeight="30">

我想将Allresultsmodel中的Allresultsgrid绑定到datagrid。

【问题讨论】:

    标签: c# wpf mvvm


    【解决方案1】:

    您可以绑定属性,就像我们使用 [ClassName].[ObjectName] 访问类中的对象一样。在这里您可以实现如下所述。

    <DataGrid Name="results_grid" IsReadOnly="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Margin="10" ItemsSource="{Binding AllResultsTable.AllResultsGrid}" DisplayMemberPath="AllResultsGrid" ColumnWidth="100" RowHeight="30">
    

    【讨论】:

    • 谢谢。它解决了我的问题。另外,能否请您告诉我如何将多个视图模型绑定到一个 xaml 文件?
    • 您只能将一个 ViewModel 指定为数据上下文,但您可以创建多个视图模型的实例并在视图中访问它们。有关更详细的解释,您应该提出一个新问题。这是一个非常有趣的话题。
    • 这是我的问题的链接:stackoverflow.com/questions/54248310/…
    猜你喜欢
    • 1970-01-01
    • 2011-01-31
    • 2016-08-21
    • 2015-01-29
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多