可以在绑定源中使用转换器

时间:2013-12-19 10:02:39

标签: wpf xaml data-binding binding

Text="{Binding MyTextProperty, RelativeSource={RelativeSource FindAncestor, 
                                            AncestorType=local:MyUserControl}}"

在上面的代码中,我可以将MyUserControl作为我的来源,但MyTextProperty位于MyUserControl内的另一个控件中。所以我可以使用转换器并获取'MyUserControl'并将相应的控件作为Source返回。

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以将内部控件公开为MyUserControl中的公共属性:

public class MyUserControl
{
    public MyInnerControl InnerControl { get; set; }
}

并在绑定的属性路径中使用它,如下所示:

Text="{Binding InnerControl.MyTextProperty,
    RelativeSource={RelativeSource FindAncestor, AncestorType=local:MyUserControl}}"