是否可以完全在XAML中将某些内容绑定到数据模板中控件的属性?以下代码是我遇到的问题的简化版本。我希望在用户在DataTemplate中的TextBox中键入时更新TextBlock(displayName)的文本。
<Window x:Class="WpfApplication4.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WpfApplication4="clr-namespace:WpfApplication4"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<DataTemplate DataType="{x:Type WpfApplication4:Foo}">
<TextBox Text="{Binding Path=Name}" />
</DataTemplate>
<WpfApplication4:Foo x:Key="testObject" Name="This is a test" />
</Window.Resources>
<StackPanel>
<TextBlock x:Name="displayName" Margin="5" />
<ContentControl x:Name="contentControl" Margin="5" Content="{StaticResource testObject}" />
</StackPanel>
答案 0 :(得分:1)
不,至少,不是来自XAML。您可以编写代码来遍历可视化树并找到要绑定的元素,但这样做会很糟糕。
但是在您的特定示例中,将TextBlock
绑定到同一数据对象(Foo
实例)是否没有意义?