应创建哪种Visual Studio项目来运行MS Docs中的WriteableBitmap示例?
嘿,我来帮你搞定这个问题!
正确的项目选择:WPF应用程序
你需要创建的是WPF应用程序项目,这是运行WriteableBitmap示例的最优解,理由如下:
为什么控制台应用不行?
WriteableBitmap是WPF专属的图像类,它依赖WPF的UI运行时环境。控制台应用默认没加载WPF的核心组件,就算硬加引用,还得额外配置WPF的消息循环,操作起来特别麻烦,完全没必要绕这个弯路。
关于WPF项目找不到Main()函数的困惑
其实WPF项目的Main()函数是自动生成的,只是藏在项目的obj目录下的自动生成文件(比如App.g.cs)里,你看不到而已,根本不需要手动创建它。你只需要按以下步骤把示例代码整合进去:
- 打开新建的WPF项目,找到默认的
MainWindow.xaml和对应的MainWindow.xaml.cs文件 - 把文档里的
WriteableBitmap示例代码,放到MainWindow的后台代码里(比如绑定到Window_Loaded事件,窗口加载时执行绘制逻辑) - 记得在XAML里加一个
Image控件,用来显示生成的WriteableBitmap(示例代码里肯定会用到这个控件来展示图像)
小提示
- WPF项目默认已经引用了
System.Windows.Media.Imaging命名空间所在的程序集,不用手动加引用 - 如果示例里有UI相关代码,直接对应到WPF控件就行,比如把生成的
WriteableBitmap赋值给Image控件的Source属性
举个简单的整合例子:
在MainWindow.xaml中添加图像控件:
<Grid> <Image x:Name="displayImage"/> </Grid>
然后在MainWindow.xaml.cs的加载事件里写逻辑:
private void Window_Loaded(object sender, RoutedEventArgs e) { // 粘贴你从文档里复制的WriteableBitmap示例代码 // 最后把生成的实例赋值给图像控件 displayImage.Source = yourGeneratedWriteableBitmap; }
这样就能顺利运行示例啦!
内容的提问来源于stack exchange,提问作者Jérôme
相关产品推荐
相关产品推荐

