【问题标题】:How to draw a pixel in WPF如何在 WPF 中绘制像素
【发布时间】:2012-10-06 00:45:22
【问题描述】:

很抱歉问了这么简单的问题,但这让我发疯了。

我正在用 C#、WPF 编写,我需要做的就是在特定 RGB 值的 x,y 位置绘制一个像素。

我遇到的问题是要使用的命名空间、要引用的 dll 等。我发现的任何代码都会引发大量编译错误。

因此,只要在窗口中的特定 x、y 坐标处放置一个 RGB 值点,就可以让我很开心。

请包含将在 Visual Studio 2010 中编译、链接和运行的整个示例代码。就像我说的,我发现的所有代码 sn-ps 都会引发大量错误(从模棱两可的“刷”到.. .好吧,你的名字)。而且,是的,我刚刚开始用 WPF 编写代码。

提前致谢!


这是给冲浪管家的:

这是一个例子(来自这里:http://msdn.microsoft.com/en-us/library/ms747393.aspx):

// Add a Line Element
myLine = new Line();
myLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
myLine.X1 = 1;
myLine.X2 = 50;
myLine.Y1 = 1;
myLine.Y2 = 50;
myLine.HorizontalAlignment = HorizontalAlignment.Left;
myLine.VerticalAlignment = VerticalAlignment.Center;
myLine.StrokeThickness = 2;
myGrid.Children.Add(myLine);           

它会抛出错误,不知道 Line() 是什么......或 myGrid(会在 XAML 中声明吗?

【问题讨论】:

  • @zetar:如果你没有得到一个完整的工作示例(你可能没有),找一个你喜欢的 sn-p,试着让它工作,如果你不能,发布在这里提出一个问题(就您的代码而言),我们将尽力帮助您完成剩下的工作:)
  • 这是一个例子(来自这里:msdn.microsoft.com/en-us/library/ms747393.aspx):
  • msdn.microsoft.com 是您的朋友。在这里可以了解到 Line 属于 System.Windows.Shapes。所以使用 System.Windows.Shapes.Line 而不是 Line 工作,很快你会更喜欢在你的班级中输入“使用 System.Windows.Shapes”......顺便说一句,如果你有太多缺少的参考,从头开始重新启动一个新的 wpf 项目,也许你弄坏了一些东西,我猜你还没有走多远;-)
  • 我同意@VincentPiel,您不需要手动添加对标准程序集的引用,从一个新项目开始。

标签: c# wpf drawing


【解决方案1】:

我找到了缺少的程序集 WindowsBase.dll!它被掩埋了,我不得不浏览它!

现在,我只剩下一个错误... myGrid 在当前上下文中不存在。

这是在 XAML 窗口中声明的吗?我怀疑是这样。但那是在另一个项目中。如何在同一解决方案中存在的两个项目中引用它的 MainWindow?

【讨论】:

  • 是的,看看这个例子,myGrid 可以是你的表单所包含的任何网格(或画布),没什么特别的。 xaml 不会在另一个项目中,您将拥有名为 something.xaml 的 xaml 文件,而 c# 代码将位于同一项目中的 something.xaml.cs 文件中。只需将网格命名为 myGrid (Name="myGrid"),C# 就可以编译了。
  • 我无法开始一个新项目;我必须将我的代码添加到现有项目中。最后一个问题:所以 myGrid 是 MainWindow.xaml 的一部分......但我需要在另一个项目中引用 myGrid(这是同一解决方案的一部分)......我该怎么做?
  • 也就是说,我如何在属于同一解决方案的另一个项目的另一个C#文件中引用MainWindow.xaml?
  • myGrid 需要位于作为 ClassLibrary 的项目中。然后在您的其他项目中添加对它的引用,如果命名空间不同,请添加 using 语句。
  • 如果我将 Project1 的输出类型(MainWindow.xaml 所在的位置)更改为类库,则会引发错误“InitializeComponent”在当前上下文中不存在。没有办法引用来自 Project2 的 MainWindow.xaml 中的 myGrid 是同一解决方案的一部分?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-10
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
相关资源
最近更新 更多