c# - Silverlight 图形像素端位置?

标签 c# silverlight graphics layout

我尝试将简单游戏移植到 silverlight (SameGame)。问题是我的旧源代码使用像素大小来照亮棋盘上的游戏标记。我使用线条和游戏标记(使用矩形)绘制简单的网格。我如何正确设置 rentacle 位置? 示例 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);
        }            
    }

最佳答案

需要在LayoutRoot Grid下面放一个Canvas或者把LayoutRoot改成Canvas。 然后将 recangle 添加到 Canvas.Children。

关于c# - Silverlight 图形像素端位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1522051/

相关文章:

javascript - Kendo UI Grid 在 ClientTemplate 中获取 Row Id

c# - 当 culture 在 asp.net webform 中设置为 ar-AE 时,7 月的月份显示错误

c# - 我如何替换要求提升的文件

android - 如何在 Android 上的相机预览中粘贴内容?

c++ - Eigen 和 CImg 兼容性问题

c# - 如何获取VS包工程中的DTE对象实例?

javascript - 如何将 Silverlight 应用程序放入 Flash 文件中(swf - 独立于浏览器,与 Flash 播放器一起运行)

c# - 设置 NavigationService 源时出现 NullReferenceException

WPF 扩展器按钮样式,因此它位于扩展器标题内

Java - 如何绘制虚线和波浪线?