및 StringFormat을 TextBox에 다중 바인딩하는 두 개의 문자열을 바인딩합니다. 은 TargetType 속성이 객체 될 것입니다 컨버터에서StringFormat을 사용한 다중 바인딩 - 왜 innerType 변환기에 targetType == 객체가 있습니까?
<TextBox>
<TextBox.Text>
<MultiBinding StringFormat="{}{0} {1} ">
<Binding Path="Foo"
Converter="{StaticResource someConverter}"
ConverterParameter="true" />
<Binding Path="Bar" />
</MultiBinding>
</TextBox.Text>
</TextBox>
:이 같은 내부 바인딩 중 하나에 변환기를 추가 할 때 나는 뭔가 이상한 나타났습니다. 동일한 변환기를 Text 속성 (multibinding없이)에 직접 사용하면 문자열이됩니다. 일이 일어나고 있다는 이유
나는 을 궁금하고있는 경우 (용어 여기에 맞는지 확실하지) 컨버터를시키기의 방법이 결합 부모의 종류에 대해 알고.
내가 묻는 이유는 변환기에서/from 형식을 일반적으로 확인하고 불일치가 있으면 Binding.DoNothing을 반환한다는 것입니다. 당신이 텍스트 속성에 직접 someConverter를 사용하는 경우이 텍스트 속성의 유형을 기반으로하기 때문에
답변 해 주셔서 감사합니다! 내부 바인딩은 Text의 직접적인 자식이 아니라 MultiBinding의 것이지만 StringFormat을 사용하면 문자열을 기대한다고 가정했을 것입니다. 이제 당신이 제안하는 것은 받아 들일 수있는 해결 방법입니다 (변환기의 형식 유효성 검사에 대해 매우 까다로울 필요는 없지만). 동일한 작업을 위해 기존 변환기 (현재 다중 값 포함)를 복제해야합니다. – pangabiMC