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