Windows.UI.Xaml.Media ==> 没有画笔

use*_*313 1 .net c# xaml windows-runtime

我需要你的帮助。我正在开发一个带有画布的应用程序。

class Amobe : Lebenwesen
{
    public override void Zeichne(Canvas dieCanvas)
    {
        Ellipse ellipse = new Ellipse();
        ellipse.Width  = 5.0;
        ellipse.Height = 5.0;
        dieCanvas.Children.Add(ellipse);
        Canvas.SetLeft(dieCanvas, x - 2.5);
        Canvas.SetTop(dieCanvas, x - 2.5);
    } 
}
Run Code Online (Sandbox Code Playgroud)

现在,我想填充椭圆。所以我尝试:

ellipse.Fill = Brushes.Green;
Run Code Online (Sandbox Code Playgroud)

我收到错误“当前上下文中不存在名称“画笔””。所以我导入了Windows.Media和Windows.UI.Xaml.Media,但它仍然不起作用。

谢谢你的帮助,保罗

Cle*_*ens 5

当您导入 . 时,似乎是 Windows 运行时,而不是 WPF Windows.UI.Xaml.Media

Windows 运行时没有Brushes类。您必须显式创建一个SolidColorBrush实例:

using Windows.UI;
...
ellipse.Fill = new SolidColorBrush(Colors.Green);
Run Code Online (Sandbox Code Playgroud)

除此之外,您必须在椭圆上调用 SetLeft 和 SetTop,而不是在画布上:

Canvas.SetLeft(ellipse, x - 2.5);
Canvas.SetTop(ellipse, x - 2.5);
Run Code Online (Sandbox Code Playgroud)