2014-07-07 3 views
7

RadioButton 요소의 IsChecked 속성이 MyPropertyViewModel에 바인딩되어 있습니다. Binding은 몇 가지 이유로 OneWayToSource 모드를 가지고 있으며 RadioButton.IsChecked에서 ViewModel.MyProperty으로 값을 푸시합니다.WPF OneWayToSource 바인딩 초기 값

RadioButton.IsChecked은 처음에는 false입니다. ViewModel에서 초기 값을 설정하고 싶습니다. true 일 수도 있습니다. 그 속성은 바인딩에 의해 점령되기 때문에 나는 그것을 할 수 없습니다.

해당 모드로 Binding을 사용하고 UI의 바운드 속성에 기본값을 설정하는 방법이 있습니까? 뭐 그런 : 나는 당신이 올바른 이해하면

<RadioButton IsChecked="{Binding MyProperty, Mode=OneWayToSource, DefaultVaule=???}"> 
</RadioButton> 
+0

의 중복 가능성 (http://stackoverflow.com/ values ​​/ 2238905/default-values-in-wpf-databinding) – pushpraj

+0

그래서 컨트롤의 속성에서 뷰 모델로 값을 푸시하고 속성이 바인딩에 의해 점유되어 있기 때문에 값을 설정할 수 없다는 것을 의미합니까? 바인딩에 사용할 수있는 다른 옵션이 있습니까? 그렇다면 바인딩에서 FallbackValue를 기본값으로 설정하고 뷰 모델 속성의 기본값을 동일한 값으로 설정하면 동일한 결과를 얻을 수 있습니다. 기본적으로'boolean'과'IsChecked'의 기본값은'false'이므로 기본값을 true로 지정하지 않으면 변경을 요구하지 않을 수 있습니다. – pushpraj

+0

첫 번째 문장에서 내가 의미하는 바를 정확히 설명했습니다. 그리고'IsChecked'를'True'로 설정하기를 원합니다 - 이것이 문제입니다. – monstr

답변

8

,이 도움이 될 생각 :

당신은 TargetNullValue 속성을 통해 기본 값을 정의 할 수 있습니다. 당신은 예를 들어, 중 오류가 발생하는 경우에 FallbackValue 값을 정의 할 수 있습니다

<TextBox Text="{Binding MyProperty, TargetNullValue=0, FallbackValue=10}" /> 

여기 참조 : [? WPF 데이터 바인딩의 기본 값] enter link description here

+0

아니요, 작동하지 않습니다. 이미 해당 게시물을 보았습니다. 'TargetNullValue'는 target의 속성이'Null '일 때 사용됩니다. 하지만 '불리언'속성이 있습니다. – monstr

+1

'FallbackValue'를 사용하면 효과가 있습니다. – monstr