2009-08-20 3 views
0

DataContext로 전달 된 다른 클래스에서 해당 데이터를 가져 오는 창이 있습니다. 그러나 이제는 창 내에서 데이터 바인딩을 수행하기를 원합니다. 다음과 같은 창이 보입니다 : 다음은 텍스트 블록 사이의 바인딩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를 변경하면 데이터 바인딩이 손상되지 않도록 두 텍스트 블록간에 어떻게 바인딩 할 수 있습니까? 사전에

감사합니다, 스테판

+0

아무런 문제가 발생하지 않았습니다. 'Window'의'DataContext'를 바꿀 때 실제로 일어나는 일은 무엇입니까? 'TestTextBlock.Text'를 프로그램 적으로 변경하고 있습니까? –

+0

또 다른 질문 : 당신은 완전히 새로운 객체를 할당함으로써'DataContext'를 변경하고 있습니다, 그렇습니까? –

답변

0

명시 적으로 일회용에 Binding.Mode을 설정하십시오. 그런 식으로 TestTextBlock2.Text는 한 번만 설정됩니다 (원하는 경우).

관련 문제