首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnRender方法UserControl问题

OnRender方法UserControl问题
EN

Stack Overflow用户
提问于 2016-01-30 20:29:04
回答 1查看 746关注 0票数 0

我想在WPF上在UserControl上绘制一个网格,所以我重写了OnCreate方法,但是网格没有在我的UserControl上绘制。(请帮助:)

代码语言:javascript
复制
public partial class FightField : UserControl
{
    public FightField()
    {
        InitializeComponent();
    }

    protected override void OnRender(DrawingContext drawingContext)
    {
        base.OnRender(drawingContext);
        var pen = new Pen(Brushes.Black, 1);
        for (var i = 1; i < 10; i++)
        {
            drawingContext.DrawLine(pen, new Point(this.Height / 10 * i, 0), new Point(this.Height / 10 * i, this.Width));
            drawingContext.DrawLine(pen, new Point(this.Width / 10 * i, 0), new Point(this.Width / 10 * i, this.Height));
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-30 20:32:52

而不是使用this.Heightthis.Width,而是分别使用this.ActualHeightthis.ActualWidth

我试过了你的代码,它只为我画垂直线,所以逻辑上也有一些问题。

工作代码:

代码语言:javascript
复制
drawingContext.DrawLine(pen, new Point(ActualWidth / 10 * i, 0), new Point(ActualWidth / 10 * i, ActualHeight));
drawingContext.DrawLine(pen, new Point(0, ActualHeight / 10 * i), new Point(ActualWidth, ActualHeight / 10 * i));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35106745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档