2011-04-29 3 views
0

가능한 한 적은 코드 숨김으로 XAML을 사용하고 싶습니다. 나는이처럼 보이는 사용자 정의 편집 템플릿과 DATAFORM 있습니다Silverlight Dataform EditTemplate은 체크 상자 상태를 기반으로 컨트롤을 표시합니까?


[X] 확인란 1

[제어판]을


나는 아래 컨트롤 세트를 표시 할 "Checkbox 1"컨트롤 (컨트롤 패널 위치) IF Checkbox 1 IS를 체크하고 체크하지 않은 경우 다른 컨트롤 세트를 표시하고 싶습니다.

Silverlight 4 (곧 SL 5 사용)를 사용하고 있습니다. "ActivePanel"ID 등을 설정하여 활성 패널을 "전환"할 수있는 Silverlight 컨트롤 홀더가 있습니까?

감사합니다.

답변

0

할 수 있습니다 CheckBox.IsChecked가 (물론 당신이 바로 변환기를 사용해야합니다)에 바인더 제본 동일한 재산에 대한 당신의 그리드의 단지 바인드 가시성 :

은이 링크를 참조하십시오.

+0

이 방법으로 끝났습니다. http://www.rhyous.com/2011/02/22/binding-visibility-to-a-bool-value-in-wpf/ –

0

2 개의 별도 패널이 있습니다. 예를 들면.

<Grid x:Name="OnGrid" Visibility="Collapsed" /> 
<Grid x:Name="OffGrid" Visibility="Collapsed" /> 
<CheckBox Content="CheckBox" Unchecked="CheckBox_Unchecked" Checked="CheckBox_Checked"/> 

코드 숨김 이벤트에서 각 항목의 표시 여부를 선택 취소하고 선택합니다.

또는 변환기를 사용하고 xaml에서 모든 작업을 수행 할 수 있습니다. 예를 들면. 당신이 MVVM에 익숙하다면 Silverlight 4: how to switch control visibility

+0

코드 숨김을 피할 수있는 방법이 있습니까? 마찬가지로 Visibility 속성에서 {Binding}을 사용하고 바인딩이 체크 상자의 IsChecked 값을 참조하도록 할 수 있습니까? 바인딩 반환 값은 두 번째 패널에서 반전되어야합니다. –

+0

가능합니다. booleanantovisibility 변환기를 써야합니다. –

관련 문제