2009-02-26 17 views
2

WPFでLINQ-to-SQL/NorthWindをセットアップしました。ListBoxにバインドできますが、WPFではDataGridにバインドできないのはなぜですか?

ListBoxはデータを表示しますが、DataGridはデータを表示しません(エラーは表示されず、何も表示されません)。

私はWPFToolkit.dllを参照しました。

なぜDataGridはListBoxで使用できるデータを表示しないのですか?

XAML:背後

<Window x:Class="TestLinq343.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:dg="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit" 
    Title="Window1" Height="300" Width="300"> 
    <Window.Resources> 
     <DataTemplate x:Key="ShowCustomer"> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="{Binding CategoryID}"/> 
       <TextBlock Text=": "/> 
       <TextBlock Text="{Binding ProductName}"/> 
      </StackPanel> 
     </DataTemplate> 
    </Window.Resources> 
    <Grid> 
     <dg:DataGrid x:Name="TheDataGrid" AutoGenerateColumns="True"></dg:DataGrid> 
     <ListBox x:Name="TheListBox" ItemTemplate="{StaticResource ShowCustomer}"/> 
    </Grid> 
</Window> 

コード:多分

using System.Linq; 
using System.Windows; 
using TestLinq343.Model; 
using Microsoft.Windows.Controls; 

namespace TestLinq343 
{ 
    public partial class Window1 : Window 
    { 
     public Window1() 
     { 
      InitializeComponent(); 

      NorthwindDataContext db = new NorthwindDataContext(); 
      var sortedProducts = 
       from p in db.Products 
       orderby p.UnitsInStock descending 
       select p; 

      TheDataGrid.ItemsSource = sortedProducts; 
      TheListBox.ItemsSource = sortedProducts; 
     } 
    } 
} 

答えて

1

それは、これはそれを修正し、ちょうどXAMLの問題でした:

<ScrollViewer> 
    <StackPanel> 
     <dg:DataGrid x:Name="TheDataGrid"/> 
     <ListView x:Name="TheListView" ItemTemplate="{StaticResource ShowCustomer}"/> 
    </StackPanel> 
</ScrollViewer> 
0

あなたがデータグリッドの列をspecifiyていなかったので。 DataGrids AutoGenerateColumnsプロパティをtrueに設定してみてください。

+0

はautogeneratecolumns私はhttp://windowsclient.net/wpf/を以下のよチュートリアルで、真であることのデフォルトである、まだ空白、ことを試してみましたwpf35/wpf-35sp1-toolkit-datagrid-feature-walkthrough.aspx、それはXAMLのItemsSourceを定義しますが、それは重要ではありませんか? –

関連する問題