2010-02-02 7 views
8

Posiadam Custom Control z TextBox w domyślnym szablonie. Kontrola klienta ma te właściwości 2 zależnościami (między innymi):Tekst Text Box.Text z MultiBinding

SelectedValue, NullText (tekst pojawiać w polu tekstowym, gdy nic nie jest wybrany, a wartość jest)

chciałbym ustaw TextBox.Text z wartością NullText, gdy null jest wartością SelectedValue, a NullText ma wartość null.

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

Mam IMultiValueConverter:

public class MyConverter : IMultiValueConverter 
{} 

z tą definicją XAML dostałam 'typ nie posiada klasy TypeConverter publicznego' wyjątek

Jak go rozwiązać, proszę?

+0

Niestety, nie zdawał sobie sprawy, faktycznie zostały opublikowania odpowiedzi, myślałem, że gdzie tylko aktualizowanie pytanie (downvote zdjęta) – Natrium

+0

OK :) Co mam teraz zrobić? Ponieważ pytanie jest nadal otwarte –

+0

Zamiast publikować rozwiązanie jako edycję, umieść swoje rozwiązanie jako odpowiedź i oznacz jako odpowiedź. –

Odpowiedz

21

Sam znalazłem ROZWIĄZANIE: Problem dotyczył RelativeSource. To jak to powinno wyglądać:

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