我运行的是Windows XP Service Pack 3. Visual Studio 2010. C#项目。
我在类项目中包含了“Using System.Windows.Media”和“Using System.Windows.Media.Imaging”。我还添加了PresentationCore.dll参考。这是在解决方案窗口完成的。
所谓的“Intellisense”正在使来自这些命名空间的所有函数变为红色。我没做什么修复它。为什么编译器不能识别PresentationCore引用?????
我需要快速解决这个问题。
感谢所有善意帮助我的人。
using System.Windows
using System.IO;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace TextEditor
{
public partial class App : Application
{
AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionOccurred;
}
private static void UnhandledExceptionOccurred(object sender, UnhandledExceptionEventArgs e)
{
Window win = Current.MainWindow;
RenderTargetBitmap bmp = new RenderTargetBitmap((int) win.Width, (int) win.Height, 96, 96, PixelFormats.Pbgra32);
bmp.Render(win);
string errorPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ErrorReports");
if(!Directory.Exists(errorPath))
Directory.CreateDirectory(errorPath);
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
string filePath = Path.Combine(errorPath, string.Format("{0:MMddyyyyhhmmss}.png", DateTime.Now));
using(Stream stream = File.Create(filePath))
{
encoder.Save(stream);
}
}
}
答案 0 :(得分:1)
首先,即使方法是静态的,也不能将方法与类分开。尝试做类似的事情:
namespace TestProject
{
public partial class App : Application
{
public void Init()
{
AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionOccurred;
}
private static void UnhandledExceptionOccurred(object sender, UnhandledExceptionEventArgs e)
{
Window win = Current.MainWindow;
RenderTargetBitmap bmp = new RenderTargetBitmap((int)win.Width, (int)win.Height, 96, 96, PixelFormats.Pbgra32);
bmp.Render(win);
string errorPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ErrorReports");
if (!Directory.Exists(errorPath))
Directory.CreateDirectory(errorPath);
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
string filePath = Path.Combine(errorPath, string.Format("{0:MMddyyyyhhmmss}.png", DateTime.Now));
using (Stream stream = File.Create(filePath))
{
encoder.Save(stream);
}
}
}
}