2017-11-26 11 views
0

저는 Xamarin 어플리케이션을 구축 중이며 선택기와 스위치가있는 컨텐츠 페이지가 있습니다.컨트롤의 IsEnabled 속성을 다른 부울 속성과 동기화하십시오.

피커의 IsToggled 속성을 true로 설정하면 피커가 비활성화되고, 반대의 경우도 마찬가지입니다. 그래서 나는 그렇게 같은 뷰 모델 클래스의 속성에 관련된 respectives 속성을 경계했다 : (

//XAML: 
<Switch IsToggled="{Binding UseNearestShop}"/> 
<Picker Title="Select your favorite shop" ItemsSource="{Binding AvailableShops}" SelectedItem="{Binding FavoriteShop}" IsEnabled="{Binding UseNearestShop, Converter={StaticResource booleanNegation}}"/> 

페이지가 초기화 될 때, 피커가 제대로 토글 여부를 내 뷰 모델 UseNearestShop 속성 값에 따라 어떤 피커를 토글하여 자체가 올바르게 수정 됨).

내 문제는 :어떻게 UseNearestShop 값이 수정 될 때마다 IsEnabled 속성을 수정할 수 있습니까? ViewModel에 다른 속성을 추가해야합니까?

어떤 통찰력도 인정 될 것입니다.

+0

INotifyPropertyChanged를 구현하고 있습니까? –

+0

예, 나는 세트가 수행 될 때마다 속성 변경을 알리고 있습니다. – Toto

답변

-1

흥미로운 속성을 새로 추가하는 대신보기 모델에서 제거 할 수도 있습니다.

그리고 현재보기 코드에서 INotifyPropertyChanged를 잘못 구현하여 현재 코드에 문제가 있다고 생각합니다.