2010-02-02 14 views
8

Ho un controllo personalizzato con un oggetto di testo nel modello predefinito. il controllo personalizzato ha queste proprietà 2 di dipendenza (tra gli altri):WPF TextBox.Text con MultiBinding

SelectedValue, NullText (testo da visualizzare nel controllo TextBox quando nulla è selezionato e il valore è fornito)

mi piacerebbe impostare il TextBox.Text con il valore NullText quando il valore SelectedValue è nullo e il valore NullText non è nullo.

<TextBox.Text>            
<MultiBinding Converter="{StaticResource myConverter}"> 
    <Binding RelativeSource="TemplatedParent" Path="SelectedValue"/> 
    <Binding RelativeSource="TemplatedParent" Path="NullText"/> 
</MultiBinding>            
</TextBox.Text> 

Ho un IMultiValueConverter:

public class MyConverter : IMultiValueConverter 
{} 

Con questa definizione XAML I got 'tipo non ha una classe TypeConverter pubblica' eccezione

Come ti risolverlo, per favore?

+0

dispiace, non si rese conto che in realtà stavano scrivendo una risposta, ho pensato che dove appena l'aggiornamento alla domanda (downvote rimosso) – Natrium

+0

OK :) Che cosa devo fare adesso? Perché la domanda è ancora aperta –

+0

Invece di pubblicare la tua soluzione come Modifica, pubblica la soluzione come risposta e contrassegnala come risposta. –

risposta

21

ho trovato il SOLUZIONE da solo: Il problema era con il RelativeSource. questo è come dovrebbe essere simile:

<TextBox.Text>            
<MultiBinding Converter="{StaticResource myConverter}"> 
    <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="SelectedValue"/> 
    <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="NullText"/> 
</MultiBinding>            
</TextBox.Text> 
Problemi correlati