【问题标题】:Escape from DataContext逃离 DataContext
【发布时间】:2009-08-20 07:06:30
【问题描述】:

我有一个从另一个作为 DataContext 传递的类获取数据的窗口。但我现在也想在窗口内进行数据绑定。窗口如下所示:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1"
    Height="300"
    Width="300">
    <StackPanel>
        <TextBlock Text="{Binding UserName}" />
        <TextBlock x:Name="TestTextBlock"
                   Text="Hello World" />
        <TextBlock x:Name="TestTextBlock2" 
                   Text="{Binding ElementName=TestTextBlock,Path=Text}" />
    </StackPanel>
</Window>

文本块 TestTextBlock 和 TestTextBlock2 之间的绑定工作正常,但只有在我更改窗口的 DataContext 属性之前。如何在这两个文本块之间进行绑定,以便更改 DataContext 不会破坏数据绑定?

提前致谢, 斯蒂芬

【问题讨论】:

  • 我没有遇到任何问题。当您更改WindowDataContext 时实际会发生什么?您是否曾经以编程方式更改 TestTextBlock.Text
  • 另一个问题:您正在通过分配一个全新的对象来更改DataContext,是吗?

标签: c# wpf xaml datacontext


【解决方案1】:

尝试将 Binding.Mode 显式设置为 OneTime。 这样,TestTextBlock2.Text 只会设置一次(如果这是你想要的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多