WPF datagrid不显示数据 [英] WPF datagrid not showing data

查看:597
本文介绍了WPF datagrid不显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个datagrid:

I have a datagrid:

<DataGrid Name="messageGrid">           
        <DataGridTextColumn Header="Revision" Binding="{Binding Message.Revision}"></DataGridTextColumn>
        <DataGridTextColumn Header="Opcode" Binding="{Binding Message.Opcode}"></DataGridTextColumn>
        <DataGridTextColumn Header="Reason" Binding="{Binding Message.Reason}"></DataGridTextColumn>
        <DataGridTextColumn Header="Reaction" Binding="{Binding Message.Reaction}"></DataGridTextColumn>
        <DataGridTextColumn Header="Projects" Binding="{Binding Message.Projects}"></DataGridTextColumn>
        <DataGridTextColumn Header="Links" Binding="{Binding Message.Links}"></DataGridTextColumn>
        <DataGridTextColumn Header="Notes" Binding="{Binding Message.Notes}"></DataGridTextColumn>       
    </DataGrid>

在预览中我看不到我想看到的列(修订版,操作码等) 。)当我运行程序时,我内没有任何列或数据,为什么会发生这种情况?

On the preview I don't see the columns that I wanted to see (Revision, Opcode, etc.) and when I run the program i don't have any columns or data inside, why is that happening?

Ps
我在Message.Revision中有数据,所以我检查了

P.s I have data inside Message.Revision and so on i checked that

编辑

视图模型,我使用Message属性作为项目来源:

the view model where i have the Message property that i use as items source:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.Windows.Input;
using YogevAfekaRAPAT.YNIDS.Helpers;
using System.Diagnostics;
using System.Data;

namespace YogevAfekaRAPAT.YNIDS.ViewModels
{
public class MessageDetailsViewModel : NotificationObject
{
    #region Private Data Members


    private Model.Message message;


    private ObservableCollection<Model.MType> types;

    //private FileManager.fileManager fileManager;

    private Logger.Logger logger;
    #endregion


    #region Properties

    #region Types
    private ObservableCollection<Model.MType> _types;
    public ObservableCollection<Model.MType> Types
    {
        get { return _types; }
        set
        {
            if (_types != value)
            {
                _types = value;
            }
        }
    }
    #endregion

    #region Message

    public Model.Message Message
    {
        get
        {
            return message;
        }
        set
        {
            if (message == value)
            {
                return;
            }

            message = value;
            RaisePropertyChanged(() => Message);
        }
    }
    #endregion


    #endregion


    #region Ctor
    public MessageDetailsViewModel(Model.Network network, String messageName)
    {
        fileManager = FileManager.fileManager.getFileManager();
        //Message = network
        Message = network.getMessageFromName(messageName);
        Debug.WriteLine("Inside: public MessageDetailsViewModel(Model.Network network, String messageName) messageName = " + messageName + " Message.Desc = " + Message.Opcode);

    }
    #endregion

}

}

推荐答案

您忘记将列定义包含在< DataGrid.Columns> / code>:

You forgot to enclose your columns definitions inside <DataGrid.Columns>:

<DataGrid Name="messageGrid">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Revision" Binding="{Binding Message.Revision}" />
        <DataGridTextColumn Header="Opcode" Binding="{Binding Message.Opcode}" />
        <DataGridTextColumn Header="Reason" Binding="{Binding Message.Reason}" />
        <DataGridTextColumn Header="Reaction" Binding="{Binding Message.Reaction}" />
        <DataGridTextColumn Header="Projects" Binding="{Binding Message.Projects}" />
        <DataGridTextColumn Header="Links" Binding="{Binding Message.Links}" />
        <DataGridTextColumn Header="Notes" Binding="{Binding Message.Notes}" />
    </DataGrid.Columns>
</DataGrid>






您需要绑定到集合。尝试定义一个 ObservableCollection ,它只返回消息

public ObservableCollection<Model.Message> Messages
{
    get { return new ObservableCollection<Model.Message> { Message }; }
}

这篇关于WPF datagrid不显示数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆