0

問題のコードの具体的な実装は次のとおりです。

左側に検索結果のリストが表示され、右側に選択した結果の詳細が表示される分割アプリケーションがあります。2 つの<Gridsplitter>オブジェクトの間に、各辺のサイズを変更できるオブジェクトがあります。アプリのコード行は次のとおりです。

<GridSplitter Grid.Column="1" HorizontalAlignment="Left" Width="3" Panel.ZIndex="100" MouseEnter="GridSplitter_MouseEnter" MouseLeave="GridSplitter_MouseLeave" Grid.RowSpan="2"/>

GridSplitter_MouseEnterandのメソッドを調べたGridSplitter_MouseLeaveところ、System.Windows.Input.Cursors クラスが呼び出されていることがわかりました。1 つはカーソルを横向きの矢印に変更し、もう 1 つはカーソルを標準のクリッカー矢印に戻します。両方の方法は次のとおりです。

private void GridSplitter_MouseEnter(object sender, MouseEventArgs e)
{
    Mouse.OverrideCursor = System.Windows.Input.Cursors.SizeWE;
}

private void GridSplitter_MouseLeave(object sender, MouseEventArgs e)
{
    Mouse.OverrideCursor = System.Windows.Input.Cursors.Arrow;
}

次に、System.Windows.Input.Cursors クラスを調べて、これらの小さなクリップ アート野郎の定義を確認しましたが、わかりません。以下は、SizeWE メソッドのコードです。

//
// Summary:
//     Gets a two-headed west/east sizing System.Windows.Input.Cursor.
//
// Returns:
//     A two-headed west/east sizing cursor.
public static Cursor SizeWE { get; }

C:\Program Files\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\PresentationCore.dll を VS2012 で開いてみましたが、役に立ちませんでした。私はそれが私が見過ごして「それが機能する方法」として受け入れる必要があることを認識していますが、それは私の心の機能方法ではありません.

私が言ったように、それはおそらくばかばかしいほど単純か、誰かに息をする方法を尋ねるのと同じくらい基本的なものであることは知っていますが、メソッドは実際にカーソルの小さな <-> 画像をどこで取得するのでしょうか?

4

1 に答える 1

3

あなたはほとんどそこにいます。Cursor クラスは、user32.dll を使用してカーソルをロードするネイティブ メソッドを呼び出します。標準のカーソル アイコンは、その DLL に埋め込まれたリソースであると思います。

于 2013-05-30T19:29:31.353 に答える