2013-10-11 44 views
0

我有tabControl.In TabItem我有datagrid。在SelectionChanged事件中,我需要在TabItem的datagrid中看到不同的文本。WPF datagrid添加文本

這個我補充一下:

System.Windows.Controls.DataGrid dataGrid = new System.Windows.Controls.DataGrid(); 
DataGridTextColumn textColumn = new DataGridTextColumn(); 
textColumn.Width = 200; 
textColumn.Header = "Account"; 
textColumn.Binding = new Binding("Account"); 
dataGrid.Columns.Add(textColumn); 

item.Content = dataGrid; 

tabControl1.Items.Add(item); 

我需要例如這樣的:

tabControl1.Controls[0].Items.Add(new DataItem()); 
+1

問題是什麼? –

+0

如何向dataGrid添加文本,但dataGrid可以是10-20。 – Zuhan

回答

1

您正在嘗試使用WPF喜歡它是Windows窗體,但它是非常不同。您將瞭解到您需要在MSDN上的DataGrid Class頁面中使用DataGrid

總之,你需要爲你的數據收集創建一個公共屬性,並將其綁定到DataGrid.ItemsSource財產如在這個例子改編自鏈接頁面上MSDN:

<DataGrid ItemsSource="{Binding yourCollection}" AutoGenerateColumns="False" > 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"/> 
     <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" /> 
     <DataGridHyperlinkColumn Header="Email" Binding="{Binding Email}" 
      ContentBinding="{Binding Email, Converter={StaticResource 
      EmailConverter}}" /> 
     <DataGridCheckBoxColumn Header="Member?" Binding="{Binding IsMember}" /> 
     <DataGridComboBoxColumn Header="Order Status" SelectedItemBinding="{Binding 
      Status}" ItemsSource="{Binding Source={StaticResource myEnum}}" /> 
    </DataGrid.Columns> 
</DataGrid> 

然後,您可以定義您需要的列,如本例所示。

+0

我動態地在TabItems上添加datagrid。我需要編程向datagrid添加文本。 – Zuhan

+0

簡單的解決方案...不要這樣做...要麼正確地(在XAML中),要麼只是使用WinForms來做到這一點。 – Sheridan