在WPF自定义控件模板中,有什么方法可以在XAML中执行以下操作?:
var selItemText = this.GetTemplateChild("PART_SelectedItemText") as TextBlock;
var binding = new Binding("SelectedItem." + DisplayMemberPath);
binding.RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent);
selItemText .SetBinding(TextBlock.TextProperty, binding);
请注意,此语句的有趣部分是绑定构造函数 - 我正在根据我指定的某些文本(“SelectedItem。”)和用户提供的路径构建路径。
消费者将使用类似于以下的控件:
<c:MyControl DisplayMemberPath="Description" />
答案 0 :(得分:1)
您可以将其拆分为两个不同的绑定。将SelectedItem绑定到TextBlock和TextBox.Text的顶层控件绑定到DisplayMemberPath作为TemplateBinding。
答案 1 :(得分:1)
简短回答:不,不可能在控件模板中完全使用xaml
你的可能性是: