【问题标题】:Binding to a data template control property绑定到数据模板控件属性
【发布时间】:2011-09-28 08:38:15
【问题描述】:

是否可以完全在 XAML 中将某些内容绑定到数据模板中的控件属性?以下代码是我遇到的问题的简化版本。我希望 TextBlock (displayName) 的文本随着用户在位于 DataTemplate 中的 TextBox 中键入而更新。

<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>

【问题讨论】:

    标签: wpf data-binding


    【解决方案1】:

    不,至少,不是来自 XAML。您可以编写代码来遍历可视化树并找到要绑定的元素,但这会很麻烦。

    但在您的特定示例中,将TextBlock 绑定到同一个数据对象(Foo 实例)是否没有意义?

    【讨论】:

    • 谢谢,肯特。我正在寻找两种不同的绑定行为。我希望 TextBlock 的 UpdateSourceTrigger 是 PropertyChanged,而 Foo 对象我希望它是 LostFocus。我应该在我原来的帖子中提到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多