2013-04-08 56 views
0

我正在跟随一些例子,我无法在我的数据网格中显示数据。值得一提的是,我在从db中获取数据时,看着debuger。WPF不显示数据网格内的数据

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> 

更新

  • 我已经改变到的AutoGenerateColumns = “真” 在MainWindow.xaml
  • 新增了MRDataGrid.ItemsSource =属性;在xaml.cs代码
  • 我应该在MainWindow.xaml中的ItemSource中放置什么?
+1

你没有设置ItemsSource – Paparazzi 2013-04-08 18:44:25

+0

嗯......尝试'AutoGenerateColumns =“True”'? – McGarnagle 2013-04-08 18:44:27

+0

你将DataContext分配给MRDataGrid听起来像是一个绑定/路径问题你有 – MethodMan 2013-04-08 18:44:38

回答

1

您没有设置ItemsSource="{Binding}"的任何上下文来处理。

这样做myDataGrid.DataContext=...或绑定的数据上下文或改变{Binding}点在你需要它

如:

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

我更新了问题,不确定在ItemsSource =里面放什么? – user1765862 2013-04-08 18:53:38

+0

@ user1765862尝试编辑,您也可以尝试将属性分配给DataContext – 2013-04-08 18:57:52

0

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

MRDataGrid.ItemsSource = properties;

0

您的数据网格没有列。你或者需要自己声明或设置AutoGenerateColumns="True"你还需要指定项目源,如Sten Petrov所说的