MouseEventArgs.GetPositionから整数を取得しますか()?
-
13-09-2019 - |
質問
私は私の国境管理にMouseEventArgs.GetPosition()
を呼び出してから(471、326.723333333333)のような浮動小数点値を取得しています。手動で数値を丸める全体の番号を取得する設定のいくつかの種類があります場合、私はいつも、私は思っていたことができますが。
私は私の国境管理にTrueにSnapsToDevicePixels
を置くことに役立つだろうと思ったが、それはおそらく無関係だとして、それは、しません。
任意のアイデア?
ありがとうございます。
解決
WPFでは、あなたは常にポジショニングが浮動小数点値で返されています。あなたはそれを丸めるしたい場合は、これを手動で行う必要があります。
この解像度の独立性によるもので、仕様によるものです。
他のヒント
すべてのデバイスは、小数座標でもMouseEventを渡して同じピクセルサイズを共有する(また、あなたが全体のシステムの翻訳のものが整数ピクセル値を発生しません座標3D空間内のコントロールを置くことができる)理にかなっていますます。
SnapsToDevicePixelsコントロールが表示され、縁部と直線ができれ間でより完全なピクセル上にあることである方法を制御するだけな特性です。それは(あなたも気づいているよう)マウスイベントの処理方法とは何の関係もありません。
親指の一般的なルールとして、WPFのすべてがdouble
値で測定されたので、一緒に暮らす(もしチェックがおそらくとにかく同じだろう)かそうのような場合int
する丸め続けるのいずれか: - )
あなたのマウスからの位置決めが連続しています。お使いのモニタ上に配置することは離散的です。あなたが必要なものよりも優れていると丸め取得している座標値は、常にあなたの最も近いピクセルを与えるだろう。基本的には、それを丸め、それについて心配しないでください。