我非常精通XAML和WPF,无法从控件外部扩展控件中绑定到其他控件。对不起,这真是令人满口,所以让我解释一下:
我有一个控件,我已经从ComboBox扩展并应用了模板并覆盖了属性元数据和所有这些东西并重新模板化它使它看起来和我想要的工作。现在,我想添加一个TextBox来为ComboBox提供搜索功能,我已经公开了依赖项属性以确定它是否可见,并将其添加到ItemsControl上方Grid的第一行,并且一切正常。我添加了一个名为IsFiltered的依赖项属性,并应用了一个模板绑定来确定过滤器是否可见,并且从我的控件外部我可以设置此值并且一切正常。
但是,我已经将扩展的ComboBox(MyComboBox,如果你愿意)添加了一个依赖属性作为一个字符串属性,这样我就可以从我的视图模型中分配一个过滤器文本属性,该属性最终将用于嵌入其中的文本框。控制。 conrol中的TextBox也使用{TemplateBinding FilterText}依赖项属性绑定,因为它挂钩回MyConboBox控件并且接受并识别赋值。但是,当我的视图模型中的属性被设置和读取并与MyComboBox中的FilteText属性交互时,MyConboBox控件模板中的TextBox也被绑定到该属性,TextBox不会触发更改。
<TextBox
Grid.Row="0"
Margin="4"
Text="{TemplateBinding FilterText}"
BorderBrush="Red"
Visibility="{TemplateBinding IsFiltered, Converter={converters:BoolToVisibilityConverter}}"/>
有人可以帮忙吗?