2014-07-07 18 views
7

Ho un elemento RadioButton la cui proprietà IsChecked è associata a MyProperty in ViewModel. Il Binding ha la modalità OneWayToSource per alcuni motivi, spinge il valore da RadioButton.IsChecked a ViewModel.MyProperty.WPF OneWayToSource valore iniziale vincolante

RadioButton.IsChecked è inizialmente false, ora. Voglio impostare un valore iniziale da ViewModel, che potrebbe anche essere true. Non posso farlo perché la proprietà è occupata dal legame.

C'è un modo per utilizzare Binding con quella modalità e impostare il valore predefinito sulla proprietà associata nell'interfaccia utente? Qualcosa del genere:

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

possibile duplicato (http://stackoverflow.com/ domande/2238905/default-values-in-wpf-databinding) – pushpraj

+0

quindi intendete dire che volete spingere il valore dalla proprietà di control al modello di vista e non siete in grado di impostare il valore perché la proprietà è occupata da binding e non c'è altra opzione disponibile nel binding? in caso affermativo, forse il valore predefinito di FallbackValue nel binding e il valore predefinito della proprietà del modello di visualizzazione sullo stesso valore potrebbero aiutarti a ottenere lo stesso risultato. per impostazione predefinita il valore predefinito per 'boolean' e' IsChecked' è 'false', quindi non è possibile richiedere alcuna modifica a meno che non si desideri che il valore predefinito sia true. – pushpraj

+0

Nella prima frase hai descritto esattamente cosa intendo. E voglio impostare 'IsChecked' come' True' - questo è il problema. – monstr

risposta

8

Se ho capito si corregge, penso che questo potrebbe aiutare:

È possibile definire il valore di default tramite la proprietà TargetNullValue. È possibile definire un valore FallbackValue in caso di errore o, ad esempio:

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

vedere qui: [? I valori di default in WPF DataBinding] enter link description here

+0

No, questo non funzionerà, ho già visto quel post. 'TargetNullValue' viene utilizzato quando la proprietà dell'obiettivo è uguale a' Null'. Ma ho la proprietà 'Boolean'. – monstr

+1

Con l'uso di 'FallbackValue' funziona – monstr

Problemi correlati