Ho giocato in giro con WPF per un bel po 'di tempo, ma per la prima volta oggi, avevo bisogno di un nido MultiBinding
all'interno di un altro, qualcosa di simile:nidificati MultiBinding (s)
<MultiBinding>
<Binding />
<MultiBinding>
<Binding />
<Binding />
</MultiBinding>
</MultiBinding>
ottengo un'eccezione che indica che non è consentito dal framework:
XamlParseException è stata gestita: Aggiungere valore alla raccolta di tipo 'System.Collections.ObjectModel.Collection (System.Windows.Data.BindingBase)' ha generato un'eccezione.
Il InnerException
è più esplicito:
BindingCollection non supporta gli elementi di tipo MultiBinding. È consentito solo il rilegatura.
Quindi scavando il web per ulteriori informazioni, mi sono imbattuto su this Microsoft Connect issue che è esattamente il mio problema.
Grazie per il feedback. WPF non supporta questo oggi. Questa funzione è stata richiesta per anni (più recentemente all'inizio di questo mese - vedere https://connect.microsoft.com/WPF/feedback/details/650164/nested-multibinding). Continueremo a considerare questo per le versioni future.
In questo momento ho fatto la pace che non sarò facile. Ho ancora bisogno di questo, , come posso nidificare MultiBindings?
Che cosa è che si sta cercando di fare, che si desidera multibindings nido? –
Sto convertendo valori booleani con ordini di precedenza complessi e mentre alcuni di essi sono già booleani, altri hanno bisogno di una conversione prima e quindi sono incorporati in altri 'IMultiValueConverter' (s). –
Se i tuoi altri MultiValueConverters non hanno più di due valori di input, potresti invece usare un convertitore con un parametro ... oppure potresti usare un convertitore con un parametro complesso per inserire più valori, che è un po 'di lavoro, ma dovrebbe fare il trucco. Se ciò sembra fattibile, potrei postare un campione? –