小编Nés*_* A.的帖子

如何为RenderTargetBitmap的输出设置透明度颜色?

我正在尝试使用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

8
推荐指数
1
解决办法
3608
查看次数

如何使用与主程序集不同的名称生成.EXE?

我有一个WPF应用程序,其中包含许多引用主程序集的XAML代码(用于小部件,样式和这些东西).

但是现在我需要更改.EXE的名称,而不是更新这么多依赖项的源主程序集.

如何做到尽可能简单?

.net wpf xaml exe .net-assembly

6
推荐指数
1
解决办法
4898
查看次数

如何检测.NET WPF内存泄漏或GC长期运行?

我有下一个非常奇怪的情况和问题:

  • 用于图表编辑的.NET 4.0应用程序(WPF).

  • 在我的电脑上运行正常:8GB RAM,3.0GHz,i7四核.

  • 在创建对象(主要是图表节点和连接器,以及所有撤消/重做信息)时,TaskManager会按预期显示一些内存使用情况"跳转"(向上和向下).

  • 这些mem-usage"jumps"在用户交互结束后仍然执行.也许这是GC清理/重新组织内存?

  • 为了看看发生了什么,我使用了Ants mem profiler,但有些它可以防止用户交互后发生"跳跃".

问题:在我的beta测试者的一些慢/弱laptos /上网本中使用几秒或几分钟后冻结/挂起(速度低于2GHz且RAM低于2GB).我在考虑内存泄漏,但......

编辑1:此外,存在内存使用量增长和增长直到崩溃的情况(仅在慢速机器中).

  • 在Windows XP模式机器(Win 7中的VM)中,只有512MB的RAM分配,它在用户交互后没有mem-usage"跳转"(没有GC清理?!)就可以正常工作.

编辑2:当系统运行其他一些繁重的程序(如Visual Studio,Office和Web页面打开)时,问题更严重.甚至没有图表的第一个符号可以创建,而内存使用起飞像火箭到太空(几秒钟消耗数百MB).有类似经历的人吗?他们的策略是什么?

所以,我真的遇到了很大麻烦,因为我无法重现错误,只看到这些奇怪的行为(内存跳转),并且该工具应该向我展示正在发生的事情是隐藏问题(如"观察者的悖论").

关于发生了什么以及如何解决的任何想法?

编辑3:这个Ants内存分析器的截图显示,如果来自非托管资源,ram(在渐强中)的巨大消耗.

在此输入图像描述

但是,什么可以消耗这么多的内存,这么快?? !!!

.net wpf garbage-collection memory-leaks

6
推荐指数
2
解决办法
2948
查看次数

相当于一个int数组与只有一个int的结构数组所使用的内存?

考虑下一个结构......

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)

哪一个矩阵会占用更少的内存空间?或者它们是等效的(每字节字节数)?

.net c# struct

6
推荐指数
1
解决办法
99
查看次数

什么是"+ <> c__DisplayClassX"类型后缀,其中X是数字?

我有一个WPF应用程序抛出的异常.消息是:

Type 'MyNamespacesPath.AType+<>c__DisplayClass5' in Assembly... is not marked as serializable
Run Code Online (Sandbox Code Playgroud)

问题是该类型无法序列化.但是该类型是自动生成的,可能是匿名方法或表达式树.任何人都知道这些类型的确切来源,知道在哪里找到bug?

.net wpf serialization exception

5
推荐指数
1
解决办法
186
查看次数

如何复制Azure Functions应用程序?

我有一个用于开发目的的Azure函数应用程序,它使用带有测试数据的表存储帐户。现在,我想要一个单独的环境(具有不同存储配置/ conn-string的相同Functions应用程序)进行生产。

因此,如何“复制”我的Azure Functions应用程序以避免在Azure门户中手动重新创建它?

azure azure-functions

5
推荐指数
1
解决办法
3058
查看次数

如何序列化 WPF 绘图?

也许我错过了一些东西。

我相信 WPF 基于矢量的绘图(如 DrawingGroup、DrawingGeometry 等)已准备好进行序列化。但他们不是。那么,我是否应该导航所有这些绘图儿童,并存储它们的点、线、画笔(也不是可序列化的)等等,然后进行我的自定义序列化?

真的那么难还是我遗漏了一些很明显的东西?

我的意思是,即使序列化位图图像也很容易。我认为序列化基于矢量的绘图更容易(没有质量损失,只有描述性信息,没有大量数据)。

感谢您提供实用的答案、替代方式的建议和评论!

wpf serialization drawing

3
推荐指数
1
解决办法
1603
查看次数

WPF RichTextBox:如何更改所选文本字体?

如何更改WPF RichTextBox中当前所选文本区域的字体?

wpf richtextbox

3
推荐指数
2
解决办法
1万
查看次数

如何获得WPF DataGridCell可视水平(X轴)位置?

我需要获取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)

wpf datagrid

3
推荐指数
1
解决办法
6140
查看次数

在Windows中是ProgramData的替代文件吗?

我正在写一个桌面应用程序,需要一个文件夹......

  • 存在于Windows 7和Vista中
  • 对所有用户都是通用的(对于商店配置数据).
  • 应用程序可以在没有Admin权限的情况下保存数据(不像"ProgramData").
  • 是标准的(我不想在"C:",桌面或其他地方创建另一个特定于应用程序的文件夹.)
  • 当然,"程序文件"不是一个选项.

你能建议一个合适的文件夹,还是更好地使用注册表?

windows desktop configuration-files

3
推荐指数
1
解决办法
1570
查看次数