C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.72918 の関連記事表示

<< 0 >>
■72918  Re[3]: WPFでファイルのドラッグ&ドロップ
□投稿者/ とっちゃん -(2014/08/01(Fri) 13:12:04)
>
    No72910 (nobb さん) に返信
    > ■No72906 (とっちゃん さん) に返信

    <<順番変更>>
    >>一応確認ですが。。。
    >>DragEnter など、Preview のつかないイベントを使っている理由は何でしょうか?
    > WPFでのドラッグ&ドロップは今までやった事がなかったので、WinFormsで行っていたDragEnterから始めてみました。
    > 理由として言うならば「Winformsでそうやってたから」ですね。
    > Previewが付くものと、付かないものの違いがいまいち分かっていないので、そこも調べなければと思っています。
    >
    Prewview がつかないイベント。。。じゃなくて、つくイベント。。。ですね。
    自分が書いた内容が逆になってる...orz

    ドラッグドロップで、ルーティングが不要というわけではありませんが、基本的には受け取りたいオブジェクトだけで
    完結するので、Preview ではないほう(本来処理すべきオブジェクト自身)で、e.Handled = true をして
    適切にメッセージを処理すればOKです。

    >>Debug.Print()で見ているようですが、デバッガで動きは追いかけてみましたか?
    > はい。一応今の簡素な形にする前に色々処理を含んだ状態でデバッガで追いかけていました。
    > そこで、e.Effectsに何を設定しても変わらなかったので、出来る限り簡素な形にし、
    > WPFから増えたPreview○○というイベントがよく分からなかったので、イベントの順序も知りたかったので今の形にしました。
    > イベントの流れという意味での「追いかけてみた?」はまだやっていません。
    >
    こちらについては、Previewのつくイベントと、Previewのつかないイベントでそれぞれハンドラを用意して
    通知メッセージを表示すると、どういう順番でなにがきているか?は判断しやすいかと。




    > かずきさんのブログで、その辺りの説明、e.Handledに関する説明もあったので、
    > Previewはトンネルで、付かない方はバブルという「表面」はわかりましたが、
    > さて、それを使う場合はどの様な違いになるのか?という事までは理解できていません。
    > # バブルはなんとなくイメージできるのですが、トンネルがイメージ出来ません。ルートから下がるってどういうこと・・・
    > http://blogs.wankuma.com/kazuki/archive/2008/02/24/124598.aspx

    WPFというか、XAMLのソースを見るとわかるように、ウィンドウなどのコンテントをツリー状に表現していますよね。

    今回のウィンドウ構成なら、
    Window
    +Grid
    ++Border
    +++Image

    という親子関係になっていて、これがそのままツリー構造的に内部保持されます。
    これが、要素ツリーと呼ばれる存在です。

    このツリーのWindow(トップ、親とも呼ぶ)から、Image(子) に向かって進むイベントをトンネル(Previewのつくイベント)
    逆にImageからWindowに向かって進むイベントをバブルと呼びます(Previewのつかないイベント)。

    この辺り古くてもいいので、WPFの書籍などを見てみると結構詳しく解説されていますよ。
    (むしろ最近の書籍のほうがあまり詳しくないかもしれない)


    DragEnterについては、すでに Hongling さんから指摘が入ってるので割愛。

    せっかく書いたので、解決済みになってるけど投稿w
記事No.72904 のレス / END /過去ログ122より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -