我有一个自定义控件,允许使用者发送将被解析为Inlines
的标记,并尝试将给定的Command
名称与其相应的ICommand匹配。我有这个工作,除了DataContext
尚未设置的情况。我知道存储标记并在DataContextChanged
上重新加载它是不合适的,但我似乎找不到任何有用的东西。我尝试BindingExpression
和Binding
无效,因为我没有办法将它们附加到Hyperlink
答案 0 :(得分:1)
我知道存储标记并在DataContextChanged上重新加载它是不合适的
如果您要在ICommand
内构建对DataContext
个实例的绑定,这可能是唯一有意义的选项。
否则,在更改数据上下文时,您永远无法更正绑定。
答案 1 :(得分:0)
查看其他一些代码,我意识到这就是我需要做的全部:
hyperlink.SetBinding(Hyperlink.CommandProperty, new Binding(description.Command));
WPF代码通常会选择它...我需要反思才能确切地看到它的功能,但它确实有效。我无法直接设置Command
属性,但这有效:)