9

デフォルトのテンプレートに TextBox を持つカスタム コントロールがあります。カスタム コントロールには、次の 2 つの依存関係プロパティがあります (特に)。

SelectedValue、NullText (何も選択されておらず、値が提供されている場合に TextBox に表示されるテキスト)

nullがnullで、nullでない場合、NullText値でTextBox.Textを設定したいと思います。SelectedValueNullText

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

私は IMultiValueConverter を持っています:

public class MyConverter : IMultiValueConverter
{}

この XAML 定義では、「型に public TypeConverter クラスがありません」という例外が発生しました

どのように解決しますか?

4

1 に答える 1

25

私は自分で解決策を見つけました: 問題は RelativeSource にありました。これは次のようになります。

<TextBox.Text>                                              
 <MultiBinding Converter="{StaticResource myConverter}">
   <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="SelectedValue"/>
   <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="NullText"/>
 </MultiBinding>                                              
</TextBox.Text>
于 2010-02-02T15:31:04.447 に答える