Tôi có thể lấy dữ liệu vào TabControl của tôi nhưng các tiêu đề có khung xung quanh chúng và tôi không thể trượt từ tab này sang tab khác.Làm cách nào để liên kết bộ sưu tập Danh sách với các tiêu đề TabControl trong WPF?
Tôi đang làm gì sai với cú pháp ràng buộc XAML trên TabControl này?
XAML:
<StackPanel>
<TabControl x:Name="TheTabControl">
<TabControl.ItemTemplate>
<DataTemplate>
<TabItem Header="{Binding LastName}">
<StackPanel Margin="10" Orientation="Horizontal">
<TextBlock Text="{Binding FirstName}"/>
<TextBlock Text=" "/>
<TextBlock Text="{Binding LastName}"/>
</StackPanel>
</TabItem>
</DataTemplate>
</TabControl.ItemTemplate>
</TabControl>
<TabControl>
<TabItem Header="Tab1">
<TextBlock Text="This is a test of tab 1"/>
</TabItem>
<TabItem Header="Tab2">
<TextBlock Text="This is a test of tab 2"/>
</TabItem>
</TabControl>
</StackPanel>
mã sau:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
//create all
List<Customer> customers = new List<Customer>();
customers.Add(new Customer { FirstName = "Jim", LastName = "Smith", NumberOfContracts = 23 });
customers.Add(new Customer { FirstName = "Jane", LastName = "Smith", NumberOfContracts = 23 });
customers.Add(new Customer { FirstName = "John", LastName = "Tester", NumberOfContracts = 23 });
//show
TheListBox.ItemsSource = customers;
}
}
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int NumberOfContracts { get; set; }
}
u may mắn ur sử dụng WPF ... Tôi có vấn đề tương tự với Silverlight vì họ không hỗ trợ chuyển đổi itemsource cho tabcontrol. –
Xem câu trả lời của Christof (http://stackoverflow.com/questions/589802/how-can-i-bind-a-list-collection-to-tabcontrol-headers-in-wpf/3196668#3196668) để XAML thực hiện công việc này - bạn cần một khối TabControl.ContentTemplate cho nội dung vì TabControl.ItemTemplate chỉ dành cho phần tiêu đề của tab. –