0

在 Silverlight5 中如何从 XAML 引用事物类:

xmlns:UserControls="clr-namespace:xyz.ClientApp.UserControls"

 public class Thing : ContextMenu, IDisposable
    {
        public void Dispose()
        {
            MethodInfo infos = typeof(ContextMenu).GetMethods(BindingFlags.NonPublic | BindingFlags.Instance).Where(a => a.Name.Equals("HandleRootVisualMouseMove")).FirstOrDefault();

            Delegate handler = Delegate.CreateDelegate(typeof(MouseEventHandler), this, infos);

            EventInfo info = System.Windows.Application.Current.RootVisual.GetType().GetEvent("MouseMove");
            info.RemoveEventHandler(System.Windows.Application.Current.RootVisual, handler);
        }
    }

在此处输入图像描述

我正在尝试在此处修复 ContextMenuService 中的错误

4

1 回答 1

0

我认为您混淆了附加属性和对象实例化语法。ContextMenu 是 ContextMunueService 的附加属性,无法通过您的 Thing 类访问。

我还没有测试过,但是下面的代码应该可以工作:

<controlsInputToolkit:ContextMenuService.ContextMenu>
  <UserControls:Thing>
    <!-- menu items here -->
  </UserControls:Thing>
</controlsInputToolkit:ContextMenuService.ContextMenu>
于 2012-12-20T22:26:10.177 回答