& 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事件中添加代碼。
滑稽畫筆。繪制(面板);