2011-09-11 3 views
3

저는 Flash for Flash 개발을 사용하고 있습니다. 그리고 Flex에서의 데이터 바인딩은 정말 강력합니다.Silverlight 데이터 다른 하나 또는 여러 속성의 표현식에 속성 바인딩

이제 Silverlight 프로젝트에서 작업하고 있습니다. 난 그냥 컨트롤의 속성을 다른 하나 또는 여러 속성의 표현식에 바인딩하려고합니다. 예 :

<Button Name="myButton" Background="{Binding myButton.IsEnabled ? #AABBCC : #DDEEFF}" /> 

실제로는 매우 간단하고 일반적인 경우입니다. 버튼을 사용할 때 myButton.Background#AABBCC으로 설정하고 사용 중지 된 경우 #DDEEFF으로 설정하면됩니다.

물론 Background 속성을 다른 컨트롤의 여러 속성에 바인딩하고 싶습니다.

Flex에서는 매우 간단합니다. 하지만 실버 라이트에서 어떻게하는지 모르겠습니다.

감사합니다.

피터

편집 실버 라이트 5 출시와 위의 좋은 기사 후

http://www.codeproject.com/KB/silverlight/SilverlightMultiBinding.aspx 2012년 1월 3일

합니다. 내 요구는 변환기 ( MarkupExtension을 상속하고 IMultiValueConverter을 상속)를 사용하여 수행 할 수 있습니다.

답변

0

bool to color의 경우 Converter이 필요합니다. (MSDN)

복수 바인딩의 경우 은 복수 값 또는 속성에 바인딩 할 수 없다는 것을 알고 있습니다.

당신은 단지 하나의 속성에 바인딩해야합니다. 그 속성은 당신이 필요로하는 값을 해결하게합니다. (런타임에는 바인딩 할 속성을 항상 변경할 수 있지만 한 번에 하나의 속성에만 바인딩 할 수 있습니다)

+1

이것은 실제로 데이터 바인딩에 제한이 있습니다. 여러 값이나 속성에 바인딩 할 수 없으면 IsEnabledChanged 이벤트에 대한 핸들러를 구현해야합니다. –

+0

이 맞습니다. 명령에 대해 읽어 보셨습니까? 특히 CanExecute 메서드 http://msdn.microsoft.com/en-us/library/ff921126(v=pandp.20).aspx – mcabral

관련 문제