연산자 또는 값이 될 수있는 바인딩 값 목록을 취하는 범용 접두사 연산자 기반 멀티 바인드 변환기를 작성한 후, 정의 된 연산자 집합의 정의 된 동작 이 같은WPF : MultiBinding 바인딩 소스의 참조 가시성 열거 형 값
그래서는 :
<MenuItem.Background>
<MultiBinding Converter="{StaticResource ArithmeticsConverter}">
<Binding Source="?"/>
<Binding Path="IsDirty"/>
<Binding>
<Binding.Source>
<SolidColorBrush Color="#dddf05"/>
</Binding.Source>
</Binding>
<Binding>
<Binding.Source>
<SolidColorBrush Color="#F0F0F0"/>
</Binding.Source>
</Binding>
</MultiBinding>
이 #의 더러운 경우 dddf05, 그렇지 않으면 # f0f0f0를 반환합니다.
그래서 지금은 필요한 변환기가 거의 없기 때문에 매우 편리합니다. xaml은 장황합니다.하지만 적어도 모든 특정 사례에 대해 변환기를 작성할 필요는 없습니다.
제 문제는 다음과 같이하고 싶습니다.
?
=
표시
가
쓰러져<MyControl.Visible>
로 설정
SomeVariable 즉 널 SomeVariable가 null의 경우는 Visible를, 그렇지 않은 경우는 Collapsed를 돌려줍니다. 하지만 위의 색상 값을 참조하는 것처럼 가시성 값 (또는보다 일반적으로 시스템 열거 형 값)을 참조 할 수 없었습니다. 나는이 값들을 인라인으로 쉽게 참조 할 수 있기 때문에 어떻게 든 가능해야한다는 것을 안다.