Silverlight 图形像素侧位置?

Posted

技术标签:

【中文标题】Silverlight 图形像素侧位置?【英文标题】:Silverlight graphics pixel side position? 【发布时间】:2010-12-04 01:41:08 【问题描述】:

我尝试将简单的游戏移植到 silverlight (SameGame)。问题是我的旧源代码使用像素大小将游戏标记放在棋盘上。我使用线条和游戏标记(使用矩形)绘制简单的网格。我怎样才能正确设置出租位置? 示例 20 距离左上角 20 像素)。

        private void DrawGrid()
    
        LayoutRoot.Children.Clear();

        Rectangle r = new Rectangle();
        r.Width = 20;
        r.Height = 20;
        r.Fill = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
        r.Stroke = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
        r.SetValue(Canvas.LeftProperty, (double)0);
        r.SetValue(Canvas.TopProperty, (double)0);                       
        LayoutRoot.Children.Add(r);


        Color GridColor = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);

        for (int y = 0; y < 11; y++)
        
            Line l = new Line();
            l.X1 = 0;
            l.Y1 = 30 * y - 1;
            l.X2 = 20 * 30;
            l.Y2 = 30 * y - 1;
            l.Stroke = new SolidColorBrush(GridColor);
            l.StrokeThickness = 1;

            LayoutRoot.Children.Add(l);
        

        for (int x = 0; x < 21; x++)
        
            Line l = new Line();
            l.X1 = 30 * x;
            l.Y1 = 0;
            l.X2 = 30 * x;
            l.Y2 = 10 * 30;
            l.Stroke = new SolidColorBrush(GridColor);
            l.StrokeThickness = 1;

            LayoutRoot.Children.Add(l);
                    
    

【问题讨论】:

【参考方案1】:

您需要在 LayoutRoot Grid 下方放置一个 Canvas 或将 LayoutRoot 更改为 Canvas。 然后将矩形添加到 Canvas.Children。

【讨论】:

以上是关于Silverlight 图形像素侧位置?的主要内容,如果未能解决你的问题,请参考以下文章

Silverlight 模板选择器解决方案效果很好,但不能混合

如何将到达图形视图右侧(末端)的 QGraphicsPixmapItem 移动到左侧(开始)侧(就像蛇游戏中发生的事情)

我可以使用 Silverlight 中的 Microsoft.Office.Interop.Word .dll 来操作 MSWord 的 SaveDialogFile 吗?

Windows Azure 服务总线 - 一般问题

将滚动条位置移动 x 个像素

在 Blend 和 VS 2010 中编辑附加属性