2017-05-04 12 views
0

앱 전체에서 오는 뷰에서 사용할 수있는 묶을 수있는 속성을 만들고 싶습니다. 라벨의 기본 글꼴 크기/색상 - 그런 종류의 것. 속성이 변경되면 모든보기가이 변경 사항을 반영 할 것으로 기대합니다. 이것이 가능한가? xaml에서 이러한 속성을 어떻게 참조합니까?Xamarin의 전역 바인딩 가능 속성

답변

1

그래서 나는이 두 가지 방법에 대해 갈 수 있다고 생각합니다.

1) 동적 자원을 사용하십시오. xaml 파일에서 StaticResource처럼 리소스를 지정하지만 대신 DynamicResource를 사용하십시오. 그런 다음 코드 뒤에 리소스 사전을 수정하고 뷰를 업데이트해야합니다. 이 예는 Petzold 책의 10 장에서 찾을 수 있습니다. (https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/)

2) 값 변환기를 사용하십시오. xaml 컨트롤의 속성을 뷰 모델의 속성에 바인딩하고 값 변환기를 지정하여 일반 값 또는 열거 형에서 UI보기 값 (예 : Visibilty 또는 색상 등)으로 변환 할 수 있습니다. 값의 예제를 찾을 수 있습니다 변환기를 제 16 장의 Petzold 책에 실었다.

개인적으로 속성이 어떻게 든 워크 플로와 관련이 있고 사용자 지정보기가 아닌 경우 개인적으로 위의 옵션 1을 사용해야한다고 생각합니다. 사용자가 글꼴 크기 또는 사물의 색상과 같은 것을 변경하는 컨트롤을 제공하는 경우 아마도 옵션 2가 더 좋습니다.

+0

중고 # 1. 훌륭하게 작동합니다. 감사! – user1334767