2010-02-02 90 views
8

我已经在默认模板中使用了TextBox的自定义控件。 自定义控件有以下2依赖属性(其中包括):带MultiBinding的WPF TextBox.Text

的SelectedValue,NullText(文本时没有被选中,并且提供的值出现在文本框)

我想设置TextBox.Text与NullText值为SelectedValue为空且NullText非空时为。

<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定义我得到了'类型不具有公共的TypeConverter类的异常

你将如何解决这个问题,好吗?

+0

对不起,没想到你居然张贴了一个答案,我还以为你在那里刚刚更新的问题(downvote删除) – Natrium 2010-02-02 15:35:49

+0

OK :)我应该怎么办?因为问题仍然存在 – 2010-02-02 16:52:09

+0

而不是将您的解决方案作为编辑发布,请将解决方案作为答案发布,并将其标记为答案。 – 2010-02-02 20:51:19

回答

21

我发现了解决方案我自己: 问题出在RelativeSource上。 这是应该的样子:

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