我正在尝试使用RenderTargetBitmap将具有透明背景的Visual对象保存到位图...
public static RenderTargetBitmap RenderToBitmap(this Visual Source, int Width, int Height)
{
var Result = new RenderTargetBitmap(Width, Height, 96, 96, PixelFormats.Default);
Result.Render(Source);
return Result;
}
Run Code Online (Sandbox Code Playgroud)
它可以工作,但透明像素用黑色渲染.将这些透明像素更改为另一种颜色的最简单方法是什么?
我有一个WPF应用程序,其中包含许多引用主程序集的XAML代码(用于小部件,样式和这些东西).
但是现在我需要更改.EXE的名称,而不是更新这么多依赖项的源主程序集.
如何做到尽可能简单?
我有下一个非常奇怪的情况和问题:
用于图表编辑的.NET 4.0应用程序(WPF).
在我的电脑上运行正常:8GB RAM,3.0GHz,i7四核.
在创建对象(主要是图表节点和连接器,以及所有撤消/重做信息)时,TaskManager会按预期显示一些内存使用情况"跳转"(向上和向下).
这些mem-usage"jumps"在用户交互结束后仍然执行.也许这是GC清理/重新组织内存?
为了看看发生了什么,我使用了Ants mem profiler,但有些它可以防止用户交互后发生"跳跃".
问题:在我的beta测试者的一些慢/弱laptos /上网本中使用几秒或几分钟后冻结/挂起(速度低于2GHz且RAM低于2GB).我在考虑内存泄漏,但......
编辑1:此外,存在内存使用量增长和增长直到崩溃的情况(仅在慢速机器中).
编辑2:当系统运行其他一些繁重的程序(如Visual Studio,Office和Web页面打开)时,问题更严重.甚至没有图表的第一个符号可以创建,而内存使用起飞像火箭到太空(几秒钟消耗数百MB).有类似经历的人吗?他们的策略是什么?
所以,我真的遇到了很大麻烦,因为我无法重现错误,只看到这些奇怪的行为(内存跳转),并且该工具应该向我展示正在发生的事情是隐藏问题(如"观察者的悖论").
关于发生了什么以及如何解决的任何想法?
编辑3:这个Ants内存分析器的截图显示,如果来自非托管资源,ram(在渐强中)的巨大消耗.

但是,什么可以消耗这么多的内存,这么快?? !!!
考虑下一个结构......
struct Cell
{
int Value;
}
Run Code Online (Sandbox Code Playgroud)
和下一个矩阵定义
var MatrixOfInts = new int[1000,1000];
var MatrixOfCells = new Cell[1000,1000];
Run Code Online (Sandbox Code Playgroud)
哪一个矩阵会占用更少的内存空间?或者它们是等效的(每字节字节数)?
我有一个WPF应用程序抛出的异常.消息是:
Type 'MyNamespacesPath.AType+<>c__DisplayClass5' in Assembly... is not marked as serializable
Run Code Online (Sandbox Code Playgroud)
问题是该类型无法序列化.但是该类型是自动生成的,可能是匿名方法或表达式树.任何人都知道这些类型的确切来源,知道在哪里找到bug?
我有一个用于开发目的的Azure函数应用程序,它使用带有测试数据的表存储帐户。现在,我想要一个单独的环境(具有不同存储配置/ conn-string的相同Functions应用程序)进行生产。
因此,如何“复制”我的Azure Functions应用程序以避免在Azure门户中手动重新创建它?
也许我错过了一些东西。
我相信 WPF 基于矢量的绘图(如 DrawingGroup、DrawingGeometry 等)已准备好进行序列化。但他们不是。那么,我是否应该导航所有这些绘图儿童,并存储它们的点、线、画笔(也不是可序列化的)等等,然后进行我的自定义序列化?
真的那么难还是我遗漏了一些很明显的东西?
我的意思是,即使序列化位图图像也很容易。我认为序列化基于矢量的绘图更容易(没有质量损失,只有描述性信息,没有大量数据)。
感谢您提供实用的答案、替代方式的建议和评论!
我需要获取WPF DataGridCell的位置,在DataGrid单元格中更改事件获得,但只能获得垂直(Y轴).尽管指向了不同的列,但水平保持不变.
这是几乎可以工作的代码.点击不同的单元格进行测试.
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
List<Person> Persons = new List<Person>();
public MainWindow()
{
InitializeComponent();
Persons.Add(new Person { Id = 1, Name = "John", City = "London" });
Persons.Add(new Person { Id = 2, Name = "Charles", City = "Rome" });
Persons.Add(new Person { Id = 3, Name = "Paul", City = "Chicago" });
this.EditingDataGrid.ItemsSource = Persons;
this.EditingDataGrid.CurrentCellChanged += new EventHandler<EventArgs>(EditingDataGrid_CurrentCellChanged);
}
void EditingDataGrid_CurrentCellChanged(object sender, EventArgs e) …Run Code Online (Sandbox Code Playgroud) 我正在写一个桌面应用程序,需要一个文件夹......
你能建议一个合适的文件夹,还是更好地使用注册表?