【问题标题】:WPF Does not show data inside datagridWPF 不显示数据网格内的数据
【发布时间】:2013-04-08 18:37:46
【问题描述】:

我正在遵循一些示例,但我无法在我的数据网格中显示数据。值得一提的是,我在查看调试器时从 db 获取数据。

MainWindow.xaml.cs

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

    }

public partial class MainWindow : Window
{
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        using (session...)
        {
            using (transaction...)
            {
                var properties = new List<MyProperty>();
                // this variable is populated inside debugger
                properties = session.Query<MyProperty>().ToList();
                if (properties != null)
                {
                    MRDataGrid.Columns[0].Visibility = System.Windows.Visibility.Hidden;
                    MRDataGrid.Columns[1].Visibility = System.Windows.Visibility.Hidden;
                    MRDataGrid.Columns[8].Visibility = System.Windows.Visibility.Hidden;
                }
            }
        }
    }
}

MainWindow.xaml

<Window x:Class="MyProject.WPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525"
        WindowStartupLocation="CenterScreen" BorderBrush="Black"
        Background="AntiqueWhite" ResizeMode="NoResize"
        Loaded="Window_Loaded">
    <Grid>
        <DataGrid AutoGenerateColumns="False" Height="202" HorizontalAlignment="Left" Margin="22,82,0,0" 
                  Name="MRDataGrid" VerticalAlignment="Top" Width="461" ItemsSource="{Binding}"/>
    </Grid>
</Window>

更新

  • 我已在 MainWindow.xaml 中更改为 AutoGenerateColumns="True"
  • 添加了 MRDataGrid.ItemsSource = 属性;在 xaml.cs 代码中
  • 我应该在 MainWindow.xaml 的 ItemSource 中放入什么?

【问题讨论】:

  • 你没有设置 ItemsSource
  • 嗯...试试AutoGenerateColumns="True"
  • 你在哪里将DataContext 分配给MRDataGrid 听起来像你遇到的Binding / Path 问题

标签: c# wpf xaml


【解决方案1】:

您没有为 ItemsSource="{Binding}" 设置任何上下文。

执行myDataGrid.DataContext=... 之类的操作或绑定数据上下文或将{Binding} 更改为您需要的位置

如:

if (properties != null)
 {
    myDataGrid.ItemsSource = properties;
    ...

【讨论】:

  • 我更新了问题,不知道在 ItemsSource= 中放什么?
  • @user1765862 尝试编辑,也可以尝试将属性分配给DataContext
【解决方案2】:

您的数据网格没有列。您要么需要自己声明它们,要么设置 AutoGenerateColumns="True" 您还需要像 Sten Petrov 所说的那样分配项目来源

【讨论】:

    【解决方案3】:

    属性 = session.Query().ToList();

    MRDataGrid.ItemsSource = 属性;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多