나는 같은 다중 바인딩이 있습니다
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding Path="myFirst.Value" />
<Binding Path="mySecond.Value" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
그리고 위의 두 바인딩 중 하나에 “123”과 같은 고정 값을 전달하고 싶습니다. XAML을 사용하여 어떻게 할 수 있습니까?
답변
값이 단순히이면 바인딩 속성 string
에서 상수로 지정할 수 있습니다 Source
. 다른 기본 데이터 유형 인 경우 정적 리소스를 정의하고이를 참조해야합니다.
mscorlib에서 sys
가리 키도록 XAML의 루트에 네임 스페이스를 정의하면 System
다음이 작동합니다.
<TextBlock>
<TextBlock.Resources>
<sys:Int32 x:Key="fixedValue">123</sys:Int32>
</TextBlock.Resources>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding Path="myFirst.Value" />
<Binding Source="{StaticResource fixedValue}" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
답변
또는 위의 두 답변을 결합합니다.
<MultiBinding Converter="{StaticResource ScalingConverter}">
<Binding>
<Binding.Source>
<sys:Double>0.5</sys:Double>
</Binding.Source>
</Binding>
<Binding ElementName="TC" Path="ActualWidth" />
</MultiBinding>
Resources kludge없이 올바른 유형을 제공합니다.
답변
나는 질문을 잘 따르지 않지만 두 가지 옵션이 있습니다.
<Binding Source="123" />
멀티 바인딩에 라인 을 넣으면 123이 변환기에 바운드 값으로 전달됩니다.
ConverterParameter="123"
MultiBinding에 넣으십시오 .
<MultiBinding Converter="{StaticResource conv}" ConverterParameter="123">
답변
나는 이것이 특히 좋은 대답이라고 말하는 것이 아니지만 여기에 또 다른 접근 방식이 있습니다.
<Binding Path="DoesNotExist" FallbackValue="123" />