草庐IT

c# - .NET Framework 4.5 Full Install 为什么只有 50MB(因为他们不再有 Client Profile)?

(所有尺寸引用均以包装尺寸为单位,而非部署/安装尺寸)基本上,以前的.NETFramework3.5有几百MB的大小(231.5MB),3.5不存在客户端配置文件,但是4.0版本确实存在客户端配置文件,大小仅为41MB,而4.0的完整安装(非CP)大小为48.1MB。现在,他们说(在问题末尾发布的链接中)大多数应用程序往往需要ClientProfile4.0中未涵盖的类和命名空间,因此他们决定不为4.5执行ClientProfile因为这个原因.他们引用的另一个原因是,由于他们能够将.NETFramework4.5的完整安装版本降低到50MB,这也减少了创建客户端配置文件版本的需要(因

c# - WPF:如何高效地每秒更新图像 30 次

我正在编写一个使用组件的WPF应用程序,该组件返回一个指向位图像素(步长*高度)的指针(IntPtr)。我事先知道位图是一个24位的rgb,它的宽度和高度。用这些位图更新图像控件构成了一个视频给用户,但我不确定最有效的方法是什么,大多数时候CPU使用率达到75%+,内存从40mb变化到500mb,我认为GC开始工作,然后再次下降到40mm。该应用开始没有响应。我该怎么办?谢谢! 最佳答案 您很可能正在分配新的位图,这些位图不是一次性的。您应该分配一个WriteableBitmap并更新它。链接的文档描述了锁定、更新和解锁Writea

c# - 使用 WPF 退出时出现 COM 异常

执行完以下两个测试用例后,COM执行将打印到控制台。我做错了什么?如果我单独运行其中一个测试,或者如果我同时运行两个测试,异常只会被写入控制台一次。这让我怀疑我没有清理某种按AppDomain的资源。我已尝试使用NUnit和MSTest进行测试,两种环境中的行为相同。(实际上,我不确定在MSTest中运行这两个测试是否会导致一个或两个异常打印输出。)异常(exception):System.Runtime.InteropServices.InvalidComObjectException:COMobjectthathasbeenseparatedfromitsunderlyingRCW

c# - 如何在 WPF 中绑定(bind)命令

有时我们多次使用复杂的方法,以至于忘记了完成任务的最简单方法。我知道如何进行命令绑定(bind),但我总是使用相同的方法。创建一个实现ICommand接口(interface)的类,并从View模型中创建该类的新实例,绑定(bind)就像一个魅力。这是我用于命令绑定(bind)的代码publicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();DataContext=this;testCommand=newMeCommand(processor);}ICommandtestCommand;pub

c# - 当它绑定(bind)到 XmlDataProvider 时,如何在 WPF DataGrid 中创建一个新行?

我有一个项目,其中XmlDataProvider绑定(bind)到WPFDataGrid控件。我在DataGrid上设置了如下绑定(bind):用户可以毫无问题地使用DataGrid编辑条目。我无法完成的是允许用户使用DataGrid添加新行(即新人)。我怎么能允许这样做? 最佳答案 确保您设置了:CanUserAddRows="True"并且绑定(bind)类的默认构造函数可用。 关于c#-当它绑定(bind)到XmlDataProvider时,如何在WPFDataGrid中创建一个新

c# - 如何在 WPF Visual Studio 设计器中显示占位符值,直到可以加载实际值

我是一名经验丰富的C#开发人员,但却是一名WPF新手。我无法通过网络搜索找到答案的基本问题(我认为)。这是简化的用例...我想在WPFTextBlock中显示一个字符串。所以我在XAML控件的代码隐藏中编写了一些C#代码...publicclassMyCoolControl:UserControl{publicvoidInitializeMyCoolControl(){this.DataContext="SomeStringOnlyAvailableAtRuntime";//Perhapsfromadatabaseorsomething...}}然后我像这样设置我的XAML:效果很好,

c# - 在 WPF XAML 中,如何连接 2 个常量以便使用预定义路径?

我想用c#常量替换源路径的路径部分,以便于路径管理,例如我有:在另一个类中我定义了常量:publicstaticreadonlystringUriImagesButtons="/Images/Big/PNG/";我想要一些类似的东西:这意味着我可以在需要时一次性更改全局路径。执行此操作的语法是什么? 最佳答案 最简单的方法是使用带有StringFormat的MultiBinding:在StringFormat参数中,您必须使用“{}”转义第一个大括号,这样XAML解析器就不会认为它是标记扩展。

c# - 来自 WPF 应用程序的异常报告

假设我的应用程序碰巧有一个未处理的异常,或者它由于某种原因崩溃了。有什么方法可以让我在应用程序崩溃时捕获输出并显示错误报告对话框。我在想的是在后台运行一个小程序,它唯一的工作就是监听主应用程序的异常退出,然后显示“报告”对话框,用户可以在其中选择通过电子邮件将输出结果发送给我的错误。不太确定如何实现,或者这是否是正确的方法。报告错误消息是一件容易的事,但我不知道如何捕获未处理异常的输出或获取退出代码(我假设程序在崩溃时会给出0以外的退出代码).向正确的方向插入会很棒。 最佳答案 您最好的机会是在应用程序内部。有两个钩子(Hook):

c# - 转换器显示枚举的描述,并在从 wpf 的组合框中选择项目时转换回枚举值

我正在使用枚举在我的组合框中登记值。我想编写一个转换器来显示所选枚举值的“描述”。并且,当被选中时,它将返回枚举值。大多数在线转换器都没有实现ConvertBack()方法(这就是我在这里发帖的原因)。 最佳答案 这里是ConvertBack方法:publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){returnvalue;}完整转换器代码:publicclassEnumC

c# - 如何获取 WPF 应用程序的发布版本

我想要我的WPF应用程序发布版本。我尝试使用this的答案题。它有效,但问题是我们可以手动更改那里的值。我想知道我的项目实际发布了多少次(不需要版本号。我的应用程序发布了多少次)。这可以做到吗? 最佳答案 使用ClickOnce,每次发布时,VisualStudio都会自动更改编号。每次发布时它都会增加该值。你的问题是你手动更改了号码。解决方案是发布并让VisualStudio更新值...您应该注意到,一旦发布,您的项目就需要保存。这是因为VisualStudio刚刚为您增加了值。更新>>>如果您想从代码访问已发布的版本(您应该在您