當前位置:成語大全網 - 書法字典 - WPF獲得像素的屏幕坐標(不是通過用鼠標點擊,而是通過知道哪個像素獲得相應的數據)

WPF獲得像素的屏幕坐標(不是通過用鼠標點擊,而是通過知道哪個像素獲得相應的數據)

1.創建壹個新窗口並添加壹個網格。

& lt窗戶?x:Class="WpfApplication1。主窗口"

xmlns = "/winfx/2006/xaml/presentation "

xmlns:x = "/winfx/2006/xaml " & gt;

& lt網格& gt

& lt網格?Name="panel "?Margin="50 " >

& lt/Grid & gt;

& lt/Grid & gt;

& lt/Window & gt;2.補充壹下FunnyBrush這個類,我自己寫的,自己玩的。

公共?班級?滑稽畫筆

{

公共?靜電?作廢?繪制(面板?面板)

{

var?刷?=?新的?RadialGradientBrush();

var?中心?=?新的?點(面板。實際寬度?/?2d,?面板。實際高度?/?2d);

刷。中心?=?居中;

刷。GradientOrigin?=?居中;

刷。RadiusX?=?居中。x;

刷。RadiusY?=?居中。y;

刷。MappingMode?=?BrushMappingMode。絕對;

控制臺。WriteLine(居中);

var?停止?=?新的?GradientStopCollection();

停止。添加(新?GradientStop(顏色。黃色的?0d));

停止。添加(新?GradientStop(顏色。紅色?0.25d));

停止。添加(新?GradientStop(顏色。藍色的?0.75d));

停止。添加(新?GradientStop(顏色。LimeGreen?1d));

刷。GradientStops?=?停止;

面板。背景?=?刷;

var?贏?=?FindParent & lt窗口& gt(面板)?作為?FrameworkElement

如果?(贏?==?null)?贏?=?面板;

贏了。鼠標移動?+=?(obj,?args)?= & gt

{

刷。GradientOrigin?=?參數。GetPosition(面板);

};

贏了。SizeChanged?+=?(obj,?args)?= & gt

{

var?pt?=?新的?點(面板。實際寬度?/?2d,?面板。實際高度?/?2d);

刷。中心?=?pt;

刷。RadiusX?=?角。x;

刷。RadiusY?=?角。y;

};

}

//?這個方法來自於

//?/fallin cloud/article/details/6960255

公共?靜電?t?FindParent & ltT & gt(DependencyObject?d)?在哪裏?t?:?依賴對象

{

DependencyObject?父母?=?d;

什麽時候?(家長?!=?空)

{

父母?=?VisualTreeHelper。get parent(parent);

如果?(家長?!=?null?& amp& amp?(家長?是嗎?t))

{

回歸?父母?作為?t;

}

}

回歸?父母?作為?t;

}

}3.在Window_Loaded事件中添加代碼。

滑稽畫筆。繪制(面板);