我正在尝试编写一个类似交互式游戏的小型应用程序,我需要有一个Draw
方法将在屏幕上绘制,但无法弄清楚如何构造 WPF 的方法。
如果这是Winforms
,我可以使用:
public void Draw (Graphics g)
{
}
但对于一个WPF Window
,我应该在 xaml 中包含什么(目前只有一个Grid
),这应该是什么Draw
方法接收作为参数?
首先我想像这样让它工作,然后我可以考虑如何让它变得更好WPF
等等。但现在我更感兴趣的是让它发挥作用。
通常,您在 WPF 中以完全不同的方式“绘制”。
在Windows Forms/GDI中,图形API是立即模式图形API。每次窗口刷新/失效时,您都可以使用 Graphics 显式绘制内容。
然而,在 WPF 中,事情的工作方式有所不同。您很少直接绘制 - 相反,它是保留模式图形 API。您告诉 WPF 您想要对象的位置,它会为您处理绘图。
最好的思考方式是,在 Windows 窗体中,您会说“从 X1 到 Y1 画一条线。然后从 X2 到 Y2 画一条线。然后......”。由于屏幕无效,每次需要“重画”时都需要重复此操作。
相反,在 WPF 中,您可以说“我想要一条从 X1 到 Y1 的线。我想要一条从 X2 到 Y2 的线。”然后,WPF 决定何时以及如何为您绘制它。
这是通过将形状放置在画布上,然后让 WPF 完成所有艰苦的工作来完成的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)