2012-05-01 3 views
2

WPAM을 사용하여 XAML에서 바인딩 할 때 경로 설정과 관련된 질문이 있습니다.XAML에서 바인딩의 경로 속성 연결

내 DataContext가 PropertyInfo 유형이라고 상상해보십시오. PropertyInfo에는 속성 이름에 대한 데이터가 들어 있습니다.

그리고 해당 개체에서 (예를 들어) TextBox 중 어떤 Text 속성을 다른 요소의 DataContext라는 이름으로 속성에 바인딩하려고합니다. 그런

뭔가 [가 그런 식으로 불가능 있기 때문에 의사의] :

<DataTemplate> 
    <TextBox Text={Binding ElementName=someElement, Path=DataContext. + {Binding Path=Name}}/> 
</DataTemplate> 

는 내가 그 문제를 해결해야하는 이유 유연한 뷰를 만들려고합니다. 코드없이이 작업을 수행 할 수있는 방법이 있습니까?

위의 내용을 모두 고려하여 질문을 짧게 만들고 바인딩 경로를 설정하는 동안 문자열을 연결하는 방법이 있는지 간단히 물어볼 수 있다고 생각합니다.

답변

2

정확하게 이해할 수 있을지 모르겠지만 멀티 바인딩이 도움이 될 것인가?

<TextBlock Grid.Row="3" Grid.Column="1" Padding="5"><TextBlock.Text> 
<MultiBinding StringFormat="[{0}, {1}]"> 
      <Binding Path="LastName"></Binding> 
      <Binding Path="FirstName"></Binding> 
</MultiBinding> 
    </TextBlock.Text> 
    </TextBlock> 
+0

실제로는 아닙니다. DataContext에 저장된 바인딩 경로에 대한 정보를 갖고 있다고 가정 해 봅시다. 예를 들어 동적으로 설정하려고합니다. 보기에서 같이. propertyInfo와 datacontext 객체를 모두 전달하기 위해 MultiBinding을 사용할 수 있지만 양방향 바인딩을 수행하는 것은 어렵습니다. –

+0

불행히도이 작업을 수행하는 XAML만의 방법을 알지 못합니다. 인터페이스에 바인딩하고 런타임시 뷰 모델 내에서 가변적 인 구체적인 구현을 제공하는 것이 실행 가능한 경로 일 수 있습니다. – Stoffel