tabcontol -wpf的数据绑定

时间:2014-02-22 02:48:33

标签: c# wpf xaml data-binding

我想设计一个tabcontrol。每个tabitem都有一个网格。让我们说网格是数据绑定到对象列表。现在我如何绑定tabcontrol。

下面显示的是班级

Class GridData
{
  String Name;
  string Id;
  string location
}

Class TabItems
{
  string tabName;
  List<GridData> ls;
 }

实现数据绑定的最佳方法

1 个答案:

答案 0 :(得分:1)

假设您有这两个类:

public class GridData
{
    public string Name { get; set; }
    public string Id { get; set; }
    public string Location { get; set; }
}

public class TabItems
{
    public string tabName { get; set; }
    public List<GridData> ls { get; set; }
}

然后将TabControl.ItemsSource设置为List<TabItems>,那么TabControl的XAML可能如下所示:

<TabControl>
    <TabControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding tabName}"/>
        </DataTemplate>
    </TabControl.ItemTemplate>
    <TabControl.ContentTemplate>
        <DataTemplate>
            <ItemsControl ItemsSource="{Binding ls}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding Path=Id, StringFormat='{}Id: {0}'}"/>
                            <TextBlock Text="{Binding Path=Name, StringFormat='{}Name: {0}'}"/>
                            <TextBlock Text="{Binding Path=Location, StringFormat='{}Location: {0}'}"/>
                        </StackPanel>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </DataTemplate>
    </TabControl.ContentTemplate>
</TabControl>

您指定2 DataTemplates。标题为TabControl.ItemTemplate,内容为TabControl.ContentTemplate,在此示例中ItemsControl显示ls