如何公开用户控件内的控件的属性?

时间:2013-12-13 14:57:29

标签: wpf xaml

例如,我有一个用户控件内的按钮,我想公开自己的属性,所以每当有人使用用户控件时都可以轻松更改其按钮的属性值。我实际上可以通过两种方式实现这一目标:

首先,将Button的属性(如FontSize)绑定到UserControl中的等效属性:

<Button FontSize="{Binding Path=FontSize, ElementName=UserControl}" />

其次,将Button的属性绑定到添加到用户控件的新依赖项属性。

<Button Content="{Binding Path=DependencyProperty, ElementName=UserControl}"

现在的问题是,有没有办法直接在XAML中访问Button的属性而不对用户控件进行任何绑定?

1 个答案:

答案 0 :(得分:2)

实际上并不希望在WPF中命名Controls。 您可以做的是使用Parent使用它的类型绑定而不是命名它。

<Button FontSize="{Binding FontSize, RelativeSource={RelativeSource Mode=FindAncestor, 
                   AncestorType={x:Type UserControl}}}" />

这是最简单的方法。