Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以使用哪个WPF控件绘制图形?_C#_Wpf_Wpf Controls - Fatal编程技术网

C# 我可以使用哪个WPF控件绘制图形?

C# 我可以使用哪个WPF控件绘制图形?,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,在面板的绘制事件中我正在Windows窗体中绘制一些水平线。然后我将Graphics对象传递给函数,以便在水平线上绘制其他图形 现在我必须在WPF中绘制相同的水平线,并在水平线上绘制其他图形(使用XBAP在浏览器中显示WPF)。我不知道在WPF中使用什么来动态绘制图形(我必须在浏览器中显示图形) private void pnlViewer_Paint(对象发送方,PaintEventArgs e) { int cellWidth=(int)((双精度)1024/(双精度)50); 内部单元高度

面板的
绘制
事件中
我正在Windows窗体中绘制一些水平线。然后我将
Graphics
对象传递给函数,以便在水平线上绘制其他图形

现在我必须在WPF中绘制相同的水平线,并在水平线上绘制其他图形(使用XBAP在浏览器中显示WPF)。我不知道在WPF中使用什么来动态绘制图形(我必须在浏览器中显示图形)

private void pnlViewer_Paint(对象发送方,PaintEventArgs e)
{
int cellWidth=(int)((双精度)1024/(双精度)50);
内部单元高度=(内部)(双精度)768/(双精度)50);
//画水平线。
int-y;

对于(inti=0;i尝试在画布上绘制所有这些


要做到这一点,您可以使用Canvas.SetTop(对象、位置)和Canvas.SetLeft

如果您想减轻痛苦,请尝试使用最适合您的画布。您可以开始阅读MSDN上的文章。
private void pnlViewer_Paint(object sender, PaintEventArgs e)
{
    int cellWidth = (int)((double)1024/ (double)50);
    int cellHeight = (int)((double)768/ (double)50);

    //Draw Horizontal lines.
    int y;
    for (int i = 0; i <= 50; i++)
    {
        y = (i * cellHeight) + cellHeight;
        using (var pen = new Pen(Color.FromArgb(50, 50, 50)))
        {
            e.Graphics.DrawLine(pen, new Point(0, y), new Point(1024, y));
        }
        DrawGraph(e.Graphics);
    }
}