2012-02-16 3 views
2

"FooText"뿐만 아니라 객체의 필드 바인딩에 대한 내용을 기본값이 필요한 XAML의 체크 상자가 있습니다. , 그것은 바뀔 수 있습니다. 로드시 체크 박스에 기본 콘텐츠가 표시되어야하지만 개체가로드되면 콘텐츠가 그에 따라 변경되어야한다는 아이디어가 있습니다.바인딩과 기본 내용 값이 모두있는 체크 박스

가능한가요? 그렇다면 어떻게해야합니까? 내가 템플릿에서 할 수 있을지도 모르지만, WPF 꽤 새로운 메신저 이후로 나는 필요한 결과를 얻을 수있는 방법을 모르는 몇 가지 아이디어가 있습니다.

MVVM 패턴을 사용하고 있습니다. 누군가가 좋은 생각을 가질 수 있음을

희망 : -D

답변

3

당신은 당신이 원하는 기본 값으로 모든 속성을 설정하는 경우, 그에 대한 기본 객체를 사용하여 다음의 DataContext로 사용할 수 있습니다.

또 다른 문제는 Bindings의 TargetNullValue입니다. 이를 사용하여 바인딩의 대상 값이 null인지를 표시하는 기본값을 설정할 수 있습니다.

0

는 전용 변수 _checkboxContent = "FooText"에 대한 기본 값을 설정 뷰 모델에 checkboxContent 속성을 만들기; 객체가로드 checkboxContent 속성에 객체 속성을 할당 할 때

바인딩이 속성은

내용 체크 박스 정말 당신이 "기본값"으로 무엇을 의미하는지에 따라 달라집니다

1

. WPF 데이터 바인딩은 "기본값"을 처리 할 수있는 몇 가지 방법을 허용 :

  • FallbackValue을 : 이것은 데이터 바인딩 자체에 문제가있을 경우 값을 지정할 수 있습니다. 예를 들어 viewmodel (DataContext)에없는 속성에 바인딩하는 경우입니다.

  • TargetNullValue : 문자열 값에 대해 매우 큰 바인딩 값이 null 인 경우 값을 지정할 수 있습니다.

당신은 당신이 나쁜 바인딩 null 값을 설명하려는 경우 모두, 그것은 당신까지 사용할 수 있습니다. 어느 쪽이든, 자주 FallbackValue를 사용해야합니다.

관련 문제