2011-10-22 26 views
2

的DataGrid在winform,我这样做:绑定实体在WPF

​​

然后,我想这在WPF但DataGrid中只显示空白:

CollectionViewSource customerViewSource = (CollectionViewSource) FindResource("customerViewSource"); 
    using (vbdadvertisementEntities context = new vbdadvertisementEntities()) 
    { 
     var q = context.customers; 
     customerViewSource.Source = q; 
    } 

XAML:

<Window x:Class="VBDAdvertisement.WCustomerMain" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="WCustomerMain" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="379" Width="654" xmlns:my="clr-namespace:VBDAdvertisement" Loaded="Window_Loaded"> 
    <Window.Resources> 
     <CollectionViewSource x:Key="customerViewSource"/> 
    </Window.Resources> 
    <Grid DataContext="{StaticResource customerViewSource}"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="56*" /> 
      <RowDefinition Height="284*" /> 
     </Grid.RowDefinitions> 
     <DataGrid AutoGenerateColumns="False" Grid.Row="1" Name="MainDataGrid" DataContext="{Binding}" /> 
    </Grid> 
</Window> 

回答

4

你必须指定ItemsSource,指定DataContext只是提供一个cont分机用于数据绑定。

一样,

<DataGrid AutoGenerateColumns="False" Grid.Row="1" Name="MainDataGrid" ItemsSource="{Binding}" /> 
+0

,也如果你对你的DataGrid(在XAML中或通过代码隐藏)设置的AutoGenerateColumns为true – whoisthis

+0

没有指定的列明白了,非常感谢! – JatSing