草庐IT

c# - ReactiveUI 绑定(bind)似乎可以防止发生垃圾回收

我们目前正在使用ReactiveUI来帮助构建一个相当大的基于WPF的Windows应用程序。一切都很顺利,直到我们发现我们的应用程序正在消耗大量内存……基本上我们所有的View、View模型和模型都没有被垃圾收集。根据JetBrainsdotMemory等内存分析器的信息,ReactiveUI似乎是罪魁祸首。特别是我们在View中配置的ReactiveUI绑定(bind),即使我们正在使用最佳实践并确保在停用View时处理所有绑定(bind)。以下是我们正在创建的View之一的示例。任何关于我们可能哪里出错的想法都将不胜感激。publicpartialclassRunbookInpu

c# - 如何使 Microsoft.VisualStudio.Diagnostics.UI.Controls.MultiSelectComboBox 工作

我努力实现的目标:我正在开发一个VisualStudio插件,我需要一个MultiSelectComboBox。我想适应VisualStudio的外观和感觉,因此为此使用他们自己的类似乎是个好主意:publicclassMultiSelectComboBox:UserControl,IComponentConnector,IStyleConnectorName:Microsoft.VisualStudio.Diagnostics.UI.Controls.MultiSelectComboBoxAssembly:Microsoft.VisualStudio.Diagnostics.Comm

c# - INotifyDataErrorInfo.GetErrors 何时调用 null 与 String.empty?

在msdnpageforInotifyDataErrorInfo.GetErrors它说调用GetErrors方法的参数可以是:我们要为其检索错误信息的属性的名称无String.Empty文档没有说明何时使用null与String.Empty调用此方法。我在我的应用程序中看到了这两种情况,我需要了解何时可以预期其中一种情况。澄清:我不是在问我应该如何实现GetErrors方法(我只是测试null和empty)。问题更多的是理解为什么WPF框架尝试有时使用null有时使用空字符串调用此方法(我在我的应用程序中遇到了这两种情况)。如果目的是询问与特定属性无关的错误,为什么在调用时使用两个不

c# - 为什么 Silverlight TextBox 使用\r 而不是 Environment.Newline (\r\n) 作为换行符?

在silverlight中,如果TextBoxAcceptsReturn,所有换行符都是\r,即使Environment.Newline是\r\n。为什么是这样?(WPF将\r\n作为文本框的换行符) 最佳答案 同意二探的回答。我遇到过这样的场景,这会带来不便。我们有一个应用程序,它通过Silverlight文本框从用户那里收集字符串数据,并将该数据存储在SQLServer数据库中,这很常见。当应用程序的其他组件使用该存储的字符串数据并期望换行符由"\r\n"表示时,就会出现问题。此类组件的一个示例是Telerik的报告解决方案:参

c# - 如何从 xaml 中引用 .resx 文件中的图标?

我正在开发一个C#WPF应用程序,使用.resx文件进行资源管理。现在,我正在尝试向项目添加图标(.ico),但遇到了一些问题。这工作正常,但是当我将图标移动到AppResources.resx时,我遇到了在xaml代码中引用它的问题。我应该使用什么来代替上面的SetterProperty=...行?这:不起作用,我想我可能需要使用与“源”不同的属性,因为现在值不是指向图标的字符串,而是图标本身。不过,我不知道该使用哪一个-请帮忙? 最佳答案 Source属性并不“想要”一个字符串,它只是在获得一个字符串时对其进行转换。如果您将图标

c# - 在 iPad 上重用 C#-Project

我正在尝试将现有的C#-WPF项目移植为iPad应用程序。据我所知,最好的方法是使用MonoTouch并尽可能多地重用C#-Logic。由于原始项目是用WPF为实际的TabletPC编写的,我的问题是,如果有任何方法,可以重用WPF源代码或至少最小化我必须重新编写的部分。如果有MonoTouch的任何好的替代品,我也将不胜感激:)更新:您的评论很有帮助,但并非100%符合我的要求。MonoCross看起来不错,但据我了解,它只是“隐藏”了特定于iOS的部分。我真正喜欢的是一种重用手写“特殊”WPF控件的方法。(或者至少尽量减少转移它们的工作/时间。)这太棒了。更新2:也许我应该补充一点

c# - 基窗口的 WPF 样式未应用在 App.xaml 中,但在 Themes/Generic.xaml 中

我正在为我的大多数窗口创建一个基窗口类。显然,最好的解决方案是一个单独的类,以及适用于它的样式。问题是当它在App.Resources时,我没有被应用.也就是说,如果它是在外部ResourceDictionary中定义的,并合并到App.xaml的资源,或本地字典并合并,或内联放入App.Resources.但是,当它被放入Themes/Generic.xaml时应用.除了覆盖DefaultStyleKeyProperty之外,无需在基本窗口中执行任何特殊操作即可演示该问题。.下面是ThemeWindow:publicclassThemeWindow:Window{staticThem

c# - Visual Studio 2010 卡在跟踪点上

问题:每当我尝试在调试器中中断或设置跟踪点时,我们的应用程序和visualstudio都会完全卡住。分离调试器后,应用程序继续。这个问题可能与WPF有关。我们已将WinForm应用程序迁移到WPF。此后出现此问题。但是我找不到导致问题的代码的特定部分。我已经回滚了数百次提交但没有成功。它也可能与UI线程有关。如果断点设置在远离UI逻辑的某处,应用程序将不会卡住,或者不会像在UI线程中的某处那样经常卡住。[编辑:]我使用Windows7。64位和VisualStudio2010[更新:]当VisualStudio挂起时,我尝试在显示断点之前分离,消息“无法从一个或多个进程分离。所有未完成

c# - WPF .exe - 大文件大小

我正在处理WPF应用程序,发现.exe的大小超过1.2MB。我想减少最终可执行文件的大小。代码也就200多kb,我在项目中用了几个.png的图片,加起来大概20kb。为什么最终的可执行文件这么大?我使用ILDASMstatistics来查看.exe统计信息。发布以下输出:Filesize:1267712PEheadersize:512(496used)(0.04%)PEadditionalinfo:1547(0.12%)Num.ofPEsections:3CLRheadersize:72(0.01%)CLRmeta-datasize:72524(5.72%)CLRadditionali

c# - 如何获取已安装的位图编码器/解码器列表(WPF 世界)?

在WindowsForms世界中,您可以获得可用图像编码器/解码器的列表System.Drawing.ImageCodecInfo.GetImageDecoders()/GetImageEncoders()我的问题是,有没有一种方法可以为WPF世界做一些类似的事情,让我获得可用的列表System.Windows.Media.Imaging.BitmapDecoder/BitmapEncoder 最佳答案 您一定会喜欢.NET反射。我在WPF团队工作,想不出更好的方法。以下代码在我的机器上生成此列表:BitmapEncoders:Sy