例如,我有一个用户控件内的按钮,我想公开自己的属性,所以每当有人使用用户控件时都可以轻松更改其按钮的属性值。我实际上可以通过两种方式实现这一目标:
首先,将Button的属性(如FontSize)绑定到UserControl中的等效属性:
<Button FontSize="{Binding Path=FontSize, ElementName=UserControl}" />
其次,将Button的属性绑定到添加到用户控件的新依赖项属性。
<Button Content="{Binding Path=DependencyProperty, ElementName=UserControl}"
现在的问题是,有没有办法直接在XAML中访问Button的属性而不对用户控件进行任何绑定?
答案 0 :(得分:2)
实际上并不希望在WPF中命名Controls
。
您可以做的是使用Parent
使用它的类型绑定而不是命名它。
<Button FontSize="{Binding FontSize, RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type UserControl}}}" />
这是最简单的方法。