TextBlock의 Text 속성을 일부 요소 및 일부 모델의 속성에 바인딩하려고합니다. 이런 식으로 뭔가 :WPF TextBlock MultiBinding
<TextBlock>
<TextBlock.Text>
<MultiBinding>
<Binding ElementName="myElement1" Mode="OneWay" Path="Text" />
<Binding ElementName="myElement2" Mode="OneWay" Path="Text" />
<Binding Mode="OneWay" Path="Property1" />
<Binding Mode="OneWay" Path="Property2" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
TextBlock입니다은 텍스트 값, myElement1, myElement2 및 속성 1, Property2의 조합을 가지고있다. 문제가 없습니다. 텍스트 값이 성공적으로 생성됩니다. 코드없이,
내가 다른 모델의 속성에있는 TextBlock의 전체 (결합) 텍스트 값을 바인딩 할 수 있습니다, 즉 Property3 : 여기
내 질문입니까?
MVVM을 사용하는 경우이 상황에 스스로를 대비시켜야한다고 생각하지 않습니다. 뷰 모델은 이러한 항목을 개별적으로 노출하고 바인딩해야하며 연결된 데이터를 제공하기 위해 뷰에 의존하지 않아야합니다. 보기는 멀티 바인딩을 사용하여 다양한 형식의 데이터를 "표시"해야하지만 데이터를 모아 다시보기 모델에 제공하는 것과 다릅니다. View가 더 이상 데이터의 발표자가 아닌 그러한 구현에서는 책임의 분리가 사라집니다. – Viv
네, Viv와 완전히 동의합니다. 이것은 당신이보기를 바라는 어떤 것이 아닙니다. 모델은 연결된 데이터를 속성으로 표시해야합니다 (뷰에서 라운드로 가져 오지 않음). – Ricibob