0

我有 tabControl.In TabItem 我有数据网格。在事件 SelectionChanged 中,我需要在 TabItem 的数据网格中查看不同的文本。

我补充说:

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());
4

1 回答 1

1

您正在尝试像使用 Windows 窗体一样使用 WPF,但它非常不同。DataGrid您将在 MSDN 上的DataGridClass页面中找到所有您需要能够使用的内容。

简而言之,您需要为您的数据集合创建一个公共属性并将其绑定到该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>

然后,您可以像本示例中那样定义所需的列。

于 2013-10-11T13:58:19.347 回答