WPF의 Boolean ViewModel 속성에 버튼 가시성 바인딩
MVVM(Model-View-ViewModel) 개발에서는 버튼의 가시성을 ViewModel에 저장된 부울 값에 바인딩해야 할 수도 있습니다. 이 간단한 작업에는 일부 XAML 코딩과 변환기 사용이 필요합니다.
XAML 코드 예(버튼이 이미 존재한다고 가정):
<code class="language-xml"><Button Content="高级功能" /></code>
이 예에서 AdvancedFormat
는 ViewModel의 부울 속성입니다. 그러나 WPF는 부울 값을 Visibility 속성에 직접 바인딩할 수 없습니다. 이 격차를 해소하려면 BooleanToVisibilityConverter가 필요합니다.
리소스에서 변환기 선언:
<code class="language-xml"><Window.Resources> <BooleanToVisibilityConverter x:Key="BoolToVis" /> </Window.Resources></code>
버튼 선언에 변환기 적용:
기존 가시성 바인딩을 다음으로 대체:
<code class="language-xml"><Button Content="高级功能" Visibility="{Binding Path=AdvancedFormat, Converter={StaticResource BoolToVis}}" /></code>
Converter={StaticResource BoolToVis}
줄을 추가하면 BooleanToVisibilityConverter를 사용하여 부울 속성 AdvancedFormat
을 Visibility 값으로 변환하도록 바인딩에 지시합니다. 변환기는 속성이 true인 경우 Visible을 반환하고, false인 경우 Collapsed를 반환하므로 ViewModel의 속성을 기반으로 버튼의 가시성을 제어할 수 있습니다.
이 패턴은 뷰(버튼 가시성)와 모델(부울 속성)의 관심사를 분리하여 뷰가 모델 상태에 따라 가시성을 결정하도록 합니다.
위 내용은 WPF에서 버튼 가시성을 부울 ViewModel 속성에 바인딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!