> 백엔드 개발 > C++ > WPF에서 버튼 가시성을 부울 ViewModel 속성에 바인딩하는 방법은 무엇입니까?

WPF에서 버튼 가시성을 부울 ViewModel 속성에 바인딩하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-13 11:31:42
원래의
260명이 탐색했습니다.

How to Bind Button Visibility to a Boolean ViewModel Property in WPF?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿