2017-07-06 25 views
-1

私はWpfでポップアップコントロールを実装しました。 私はポップアップドラッグを可能にしたいと思って、下に書かれたいくつかのコードを見つけました。 しかし、コンパイル時エラー "AssociatedObject"が見つかりませんでした。動作が見つかりません。Geetingコンパイル時エラー

class class MouseDragPopupBehavior : Behavior<Popup> 
{ 
    private bool mouseDown; 
    private Point oldMousePosition; 

    protected override void OnAttached() 
    { 
     AssociatedObject.MouseLeftButtonDown += (s, e) => 
     { 
      mouseDown = true; 
      oldMousePosition = AssociatedObject.PointToScreen(e.GetPosition(AssociatedObject)); 
      AssociatedObject.Child.CaptureMouse(); 
     }; 
     AssociatedObject.MouseMove += (s, e) => 
     { 
      if (!mouseDown) return; 
      var newMousePosition = AssociatedObject.PointToScreen(e.GetPosition(AssociatedObject)); 
      var offset = newMousePosition - oldMousePosition; 
      oldMousePosition = newMousePosition; 
      AssociatedObject.HorizontalOffset += offset.X; 
      AssociatedObject.VerticalOffset += offset.Y; 
     }; 
     AssociatedObject.MouseLeftButtonUp += (s, e) => 
     { 
      mouseDown = false; 
      AssociatedObject.Child.ReleaseMouseCapture(); 
     }; 
    } 
} 
+0

する必要があります?ここでは定義されていません。 – DavidG

+0

正確なソースコードは本当ですか?最初の 'class class'は奇妙に見えます。 – mjwills

+0

はい、実際に私はこのリンクからこのコードを取得しました:https://stackoverflow.com/questions/4784240/a-draggable-popup-control-in-wpf –

答えて

0

あなたはあなたのクラスの先頭にusing System.Windows.Interactivity;を入れSystem.Windows.Interactivity

への参照が不足している: はここに私のコードです。また、これをプロジェクトの参照として追加する必要があります。

また、あなたはあなたのclass宣言を修正する必要があります、現在、それは次のようになります。

class class ...

`AssociatedObject`が、その後することになっているものそれはまあ

public class ...

関連する問題