2010-02-02 8 views
8

J'ai un contrôle personnalisé avec un TextBox dans le modèle par défaut. Le contrôle personnalisé a ces propriétés 2 de dépendance (entre autres):WPF TextBox.Text avec MultiBinding

SelectedValue, NullText (texte à apparaître dans la zone de texte quand rien est sélectionné et la valeur est fournie)

J'aimerais régler la TextBox.Text avec la valeur NullText lorsque le SelectedValue est null et le NullText non null est.

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

J'ai un IMultiValueConverter:

public class MyConverter : IMultiValueConverter 
{} 

Avec cette définition XAML je suis arrivé 'type ne dispose pas d'une classe publique TypeConverter' Exception

Comment qualifieriez-vous le résoudre, s'il vous plaît?

+0

désolé, ne comprenez-vous pas été en fait une réponse messages, je vous pensais juste mettre à jour où la question (downvote retirée) – Natrium

+0

OK :) Que dois-je faire maintenant? Parce que la question est toujours ouverte –

+0

Plutôt que d'afficher votre solution en tant que modification, publiez votre solution en tant que réponse et marquez-la comme réponse. –

Répondre

21

J'ai trouvé le SOLUTION par moi même: Le problème était avec le RelativeSource. Voici comment cela devrait ressembler à:

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