Tôi có Ví dụ đơn giản sau:Làm thế nào để liên kết với dữ liệu trong một DataTemplate của một ContentControl
<Window x:Class="TemplateBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="pack://application:,,,/TemplateBinding;component/PersonTemplate.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<ContentControl ContentTemplate="{StaticResource PersonTemplate}" />
</Grid>
</Window>
Với:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DataTemplate x:Key="PersonTemplate">
<Border Width="100" Height="100" Background="RosyBrown">
<TextBlock Text="{Binding Path=FirstName}" VerticalAlignment="Center" TextAlignment="Center"/>
</Border>
</DataTemplate>
</ResourceDictionary>
như DataTemplate của tôi trong một tập tin ResourceDictionary riêng biệt.
Tôi đặt DataContext của mình trong Construcor của MainWindow của tôi và đã xác minh bằng cách chỉ hiển thị tên đầu tiên như sau: <ContentControl Grid.Row="1" Content="{Binding FirstName}"/>
.
Trong một trường hợp khác, trong đó tôi sử dụng DataTemplate với ListBox
Tôi làm Ràng buộc chính xác theo cách tương tự trong DataTemplate của tôi và nó chỉ hoạt động.
Tôi biết rằng DataTemplate đang hoạt động ngoại trừ ràng buộc vì nó hiển thị chính xác kích thước và màu nền.
Tôi đang làm gì sai? Làm thế nào các ràng buộc trong DataTemplate của tôi phải nhìn?
Bạn có liên kết đến tài liệu về điều này không? Nó hoàn toàn giải quyết vấn đề của tôi nhưng tôi tò mò nếu có bất kỳ gotchas khác. –