我是WPF / Silverlight的新手,所以很难描述我尝试做的事情。也许这就是我无法在Stackoverflow和Google上找到答案的原因。
我尝试以编程方式绑定到DependyProperty
。
public static DependencyProperty MyDependencyProperty
= DependencyProperty.RegisterAttached(
"...",
typeof(...),
typeof(...),
new PropertyMetadata(...)
);
xmlns:MyXMLNS="clr-namespace:...."
<ListBox MyXMLNS:MyClass.MyDependencyProperty="...">
// ....
</ListBox>
这已经按预期工作了。
如何以编程方式完成此操作?
答案 0 :(得分:3)
如果你知道如何处理XAML,代码中的格式总是相同的,只是非逐字翻译。
<ListBox local:Attached.Test="{Binding PathToProperty)"/>
var binding = new Binding("PathToProperty");
listBox.SetBinding(Attached.TestProperty, binding);
如果在ElementName等绑定上设置其他属性,则应在SetBinding
之前设置它们。 (此SetBinding
方法只是为了方便(如果您只设置Binding.Path
,那么即使是another one),对于非FrameworkElements,您需要BindingOperations.SetBinding
)