gpt4 book ai didi

c# - 未找到 Caliburn Micro 方法(DataContext 问题?)

转载 作者:行者123 更新时间:2023-11-30 14:57:02 27 4
gpt4 key购买 nike

我有一个 UserControl (MainView),上面有一个 viewbox 来显示另一个 UserControl (MidView),在那个 UserControl 里面我有一个显示另一个 UserControl (BottomView) 的 Canvas 。在孙子 UserControl (BottomView) 上,我有一个 ListBox,我希望能够右键单击它并调用特定的方法。

我有

cal:Message.Attach="[Event MouseRightButtonDown] = [Action Method1]"

在 ListBox 上,但每当我右键单击该框时,它都会检查“Method1”的祖 parent ViewModel (MainViewModel)。我想我必须使用 cal:Action.TargetWithoutContext 让它在 BottomViewModel 中查看,但我不知道如何使用它。

我以为

cal:Action.TargetWithoutContext="{Binding MainView}"

cal:Action.TargetWithoutContext="{Binding MainViewModel}"

可以解决我的问题,但运气不好。我哪里出错了?

最佳答案

我找到了一个旧应用程序,我在其中为 TreeView 上的右键单击 Context 菜单执行了此操作,并且需要在实际选定的项目上执行一个方法 ViewModel,而不是父 ViewModel

我用过:

<ContextMenu cal:Action.TargetWithoutContext="{Binding DataContext, RelativeSource={RelativeSource Self}}">
<MenuItem Header="Edit" cal:Message.Attach="Edit" />
<!-- Other Menu Items -->
</ContextMenu>

希望类似的逻辑适用于您的情况(使用您想要的事件/方法)。

关于c# - 未找到 Caliburn Micro 方法(DataContext 问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21403501/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com