Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 上下文菜单中的Binding ElementName可以';找不到目标_C#_Wpf_Xaml_Element Binding - Fatal编程技术网

C# 上下文菜单中的Binding ElementName可以';找不到目标

C# 上下文菜单中的Binding ElementName可以';找不到目标,c#,wpf,xaml,element-binding,C#,Wpf,Xaml,Element Binding,我试图从下拉菜单按钮(从)内的上下文菜单绑定到元素。即使在上下文菜单外,绑定似乎可以工作,但上下文菜单内的绑定却不能 这是XAML(非常简化): 结果 无法工作的绑定是{binding ElementName=pieChart},这很有趣,因为正在找到命令。我似乎无法使用相对资源,但有人能帮我正确绑定吗?因为ContextMenu与其放置目标不在同一个可视化树中,所以ElementName绑定不起作用,因为它要求两个控件都在同一个可视化树中 CommandParameter="{Bindin

我试图从下拉菜单按钮(从)内的上下文菜单绑定到元素。即使在上下文菜单外,绑定似乎可以工作,但上下文菜单内的绑定却不能

这是XAML(非常简化):


结果
无法工作的绑定是{binding ElementName=pieChart},这很有趣,因为正在找到命令。我似乎无法使用相对资源,但有人能帮我正确绑定吗?

因为ContextMenu与其放置目标不在同一个可视化树中,所以ElementName绑定不起作用,因为它要求两个控件都在同一个可视化树中

CommandParameter="{Binding Source={x:Reference pieChart}}"
尝试使用
x:Reference
,它不受位于同一可视树中的约束

CommandParameter="{Binding Source={x:Reference pieChart}}"

像这样使用它

CommandParameter="{x:Reference pieChart}"
注-x:引用将在WPF 4.0或更高版本中找到。

因为ContextMenu与其放置目标不在同一个可视化树中,所以ElementName绑定不起作用,因为它要求两个控件位于同一个可视化树中

CommandParameter="{Binding Source={x:Reference pieChart}}"
尝试使用
x:Reference
,它不受位于同一可视树中的约束

CommandParameter="{Binding Source={x:Reference pieChart}}"

像这样使用它

CommandParameter="{x:Reference pieChart}"

注-x:参考将在WPF 4.0或更高版本中找到。

非常类似的问题-。我已尝试应用该问题的解决方案,但有两个主要区别:上下文菜单出现在数据模板中,菜单中绑定了多个内容(饼图或条形图——我编辑了这个问题以反映他的情况)。但有些解决方案甚至可以与模板一起使用。而且,您始终可以将一些视图数据移动到模型中,并通过datacontext引用它(当然,它可能部分违反MVVM结构,但无论如何)。非常相似的问题-。我尝试应用该问题的解决方案,但有两个主要区别:上下文菜单出现在数据模板中,菜单中绑定了多个内容(饼图或条形图——我编辑了该问题以反映他的)。但有些解决方案甚至可以与模板一起使用。而且,您始终可以将一些视图数据移动到模型中,并通过datacontext引用它(尽管如此,它可能会部分违反MVVM结构)。我尝试了这一点,但得到了一个XamlParseException“双向绑定需要路径或XPath”我还用Mode=one-way、Mode=one-waytosource和Mode=one-time进行了尝试。没有一个有效。
CommandParameter
不是双向绑定。在我这边可以很好地工作。但是,你也可以尝试一下-
CommandParameter=“{x:Reference pieChart}”
。很高兴能帮助mate.!!我尝试了这个,得到了一个XamlParseException“双向绑定需要路径或XPath。”我还使用Mode=one-way、Mode=one-waytosource和Mode=one-time进行了尝试。没有一个有效。
CommandParameter
不是双向绑定。在我这边可以很好地工作。不过,您也可以尝试一下-
CommandParameter=“{x:Reference pieChart}”
。很高兴帮助mate。。!!