我有一个Binding
对象,我想知道这个Binding
的父项。获取绑定的父项
例子:
<Label Name="BindingLabel" Content="{Binding Path=LabelText}"/>
在示例的Binding
父母是Label
与名BindingLabel我搜索的方式只能从Binding
对象得到它。
谢谢!
我有一个Binding
对象,我想知道这个Binding
的父项。获取绑定的父项
例子:
<Label Name="BindingLabel" Content="{Binding Path=LabelText}"/>
在示例的Binding
父母是Label
与名BindingLabel我搜索的方式只能从Binding
对象得到它。
谢谢!
A Binding
可用于多个对象,因此它不能有一个Parent
。如果你知道你正在浏览什么对象(例如,你已经有一个列表,或者你可以走一棵树)以及要检查哪些依赖属性,你可以检查该元素是否使用该绑定。
这里是你怎么做,如果你有一个的二手的Binding
准确的实例:
Binding binding = // whatever (must be the same instance used in the object)
IEnumerable<Label> labels = // whatever
foreach (var label in labels)
{
if (label.GetBindingExpression(Label.ContentProperty).ParentBinding
== binding)
{
// found it!
}
}
或者,也许你只是想比较的路径:
var path = "LabelText";
IEnumerable<Label> labels = // whatever
foreach (var label in labels)
{
if (label.GetBindingExpression(Label.ContentProperty).ParentBinding.Path.Path
== path)
{
// found it!
}
}
你的问题是kindof模糊因为你没有描述你打算如何处理它。如果你想设置标签的特定属性,你可以使用valueconverter。此外,您可以在绑定
<Label>
<Label.Content>
<MultiBinding Converter="{StaticResource MyConverter}">
<MultiBinding.Bindings>
<Binding Path="LabelText" />
<Binding RelativeSource="{RelativeSource Self}"/>
</MultiBinding.Bindings>
</MultiBinding>
</Label.Content>
</Label>
我没有测试的代码,所以我可能会关闭与约束力的声明或东西的参考对象本身使用的(多)的RelativeSource =自通。
我现在这样做,但我正在寻找方式找到不知道所有的对象。 – igofed