[wpf] 다중 바인딩에서 1 바인딩에 대한 상수 값을 어떻게 전달할 수 있습니까?

나는 같은 다중 바인딩이 있습니다

<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" />


답변