C# 不同视觉树之间的微动作绑定

C# 不同视觉树之间的微动作绑定,c#,wpf,mvvm,caliburn.micro,wpftoolkit,C#,Wpf,Mvvm,Caliburn.micro,Wpftoolkit,我使用WPFToolkit的DropDownButton来显示一个小编辑器,其中包含一个按钮,用于通过VM中的一个简单方法清除编辑器的字段。该方法只需要调用,不需要向其传递任何参数 主要问题是DropDownButton使用弹出窗口显示其下拉内容(编辑器),而弹出窗口位于不同的VisualTree上。我似乎无法访问原始树以便使用Action.TargetWithoutContext调用该方法 我已经看到了这类问题的解决方案,但主要围绕着上下文菜单和使用 Action.TargetWithoutC

我使用WPFToolkit的DropDownButton来显示一个小编辑器,其中包含一个按钮,用于通过VM中的一个简单方法清除编辑器的字段。该方法只需要调用,不需要向其传递任何参数

主要问题是DropDownButton使用弹出窗口显示其下拉内容(编辑器),而弹出窗口位于不同的VisualTree上。我似乎无法访问原始树以便使用Action.TargetWithoutContext调用该方法

我已经看到了这类问题的解决方案,但主要围绕着上下文菜单和使用

Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}"
我曾尝试在没有上下文的情况下将TargetWithoutContext的绑定路径更改为父DropdownButton(当然是命名),尝试使用AncestorType和不同的RelativeSource,但我在Caliburn方面的知识。遗憾的是,Micro或调试这类问题不够广泛,无法解决此问题

视图,忽略任何不相关的控件和样式:


到目前为止,我得到一个System.Exception:“找不到INDClear方法的目标。”调用该方法时出错:

System.Windows.Data错误:4:找不到引用[TargetWithoutContext引用参数]绑定的源。 WindowsBase.dll中发生类型为“System.exception”的未处理异常
未找到方法清除的目标。

遗憾的是,默认模板中没有为
弹出窗口
设置
放置目标
,因此,如果不创建自定义模板,则无法绑定到父元素。自定义模板与样式设置器中的模板相同?您需要定义自定义
控制模板
。遗憾的是,没有
PlacementTarget
为默认模板中的
弹出窗口设置
,以便在不创建自定义模板的情况下无法绑定到父元素。与样式设置器中的自定义模板相同?您需要定义自定义
ControlTemplate