草庐IT

wpf-grid

全部标签

c# - 防止 WPF 中的内存泄漏

使用WinForms时,您必须在使用gdi对象、事件处理程序、native代码中的对象等后释放内存。在WinForms中,我过去常常删除dispose方法中的事件处理程序。在Wpf中防止内存泄漏的最佳解决方法是什么?它与使用Disposepattern的Winforms相同吗?我是否需要关心事件处理程序、Wpf中的gdi对象?运行时创建的资源(Brushes等)怎么样? 最佳答案 This博客文章列出了导致WPF应用程序内存泄漏的最常见情况。父窗口中对象的事件处理程序从静态对象注册事件使用计时器数据绑定(bind)更改文本框的Tex

c# - 学习 WPF 和 MVVM

我最近加入了一个使用WPF和MVVM构建胖客户端应用程序的新开发项目。我在从1.1到3.5的各种.NET框架和所有主要技术中开发了应用程序;WebForms、MVC和WinForms。在我所有的项目中,我都很享受其中的每一分钟,但在这个项目中,我觉得自己很挣扎,因此没有那么享受。当.NET3.5在2008年问世时,我非常喜欢学习新的语言功能(LINQ、MVC、Lambda表达式等)并涉足WPF,所以请不要认为我反对学习新东西。但是这个项目的学习曲线似乎真的很陡峭,我觉得在WPF+应用程序之上学习MVVM有点令人生畏。虽然我参与该项目的时间很短(2周),但我真的很喜欢WPF,但不喜欢MV

c# - 如何获取和设置 WPF 文本框的当前光标位置

我想从WPF文本框获取当前光标位置。如果TextBox包含文本abhishek并且光标在abhi之后闪烁,那么我需要该索引,以便稍后在清除TextBox以编程方式并以编程方式分配一些其他或相同的文本我想让光标在4个字符后闪烁。我试过这样获取光标位置,_tempFuncName=txtFunctionName.Text;_cursorPosition=txtFunctionName.SelectionStart;_selectionLength=txtFunctionName.SelectionLength;并在以后的某个阶段从类似这样的其他事件中退缩,txtFunctionName.T

c# - 如何在 WPF 中设置 DataGrid header 的样式

我有一个像这样的DataGrid:如何使DataGridHeader居中?并为其应用样式?谢谢编辑1):写完这段代码后:网格列变为:为什么? 最佳答案 要避免标题折叠的影响,只需以这种方式更正您的样式: 关于c#-如何在WPF中设置DataGridheader的样式,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7943729/

c# - WPF 中的 Ninject 构造函数注入(inject)

是否可以使用ninject进行依赖项注入(inject),使结果类似于我可以在MVC中获得的注入(inject)。详细来说,如果我使用MVCninject适配器,我可以将我的WebController声明为具有构造函数参数,然后由ninject自动注入(inject)。但是,我还没有找到这样一个WPF的ninject扩展,它可以让我有一个这样的窗口:publicpartialclassMainWindow:Window{privatereadonlyIServiceinjectedService;publicMainWindow(IServiceinjectedService){thi

c# - WPF 数据绑定(bind)标签内容

我正在尝试使用数据绑定(bind)创建一个简单的WPF应用程序。代码看起来不错,但是当我更新我的属性时我的View没有更新。这是我的XAML:这是我的代码隐藏:namespaceCalculator{publicpartialclassMainWindow{publicMainWindow(){DataContext=newCalculatorViewModel();InitializeComponent();}}}这是我的View模型namespaceCalculator{publicclassCalculatorViewModel:INotifyPropertyChanged{pr

c# - 在 WPF 中,如何在代码隐藏中引用资源库中的字体?

我有一个应用程序使用单独的资源库程序集(但不是没有代码的纯资源程序集),我想在库中包含自定义字体。如果我将其.otf文件作为资源添加到执行程序集的项目(而不是资源库项目),使用以下代码将属性设置为BuildAction='Resource'和CopytoOutput='DoNotCopy':FontFamilyfont=newFontFamily(newUri("pack://application:,,,/"),"./Resources/#CustomFont"));//Resourcesisasubfolder但是,当我尝试将字体添加到资源库项目时,字体并未加载。我尝试使用以下代码

c# - WPF 中的 session ?

在ASP.NET中,我可以执行Session["something"]=something;,然后我可以在另一个页面中检索session的值。WPF中是否有一个Session允许我在ASP.NET中做同样的事情?我注意到WPF中没有session,因为有状态。因为我有很多用户控制页面,所以我需要获取它的值并将其显示在MainWindow上。WPF中有类似Session的吗?有些资源说要使用cookie。我怎么做?我的WPF应用程序不是WPFWeb应用程序吗? 最佳答案 如果我正确理解你的问题,你只需要某种全局存储来存储你程序中的某些

c# - Open/SaveFileDialog 类之间的区别及其在 WPF 窗体中的使用

很好奇,但只是想知道是否有人知道使用之间的区别:System.Windows.Forms.SaveFileDialog(在AssemblySystem.Windows.Forms.dll中)和Microsoft.Win32.SaveFileDialog(在AssemblyPresentationFramework.dll中)?我在WPF表单中使用PresentationFramework.dll版本,但目前正在重新使用表单中的一些旧代码,其中包括显示System.Windows.Forms.dll版本并想知道是否:它们的外观有细微差别吗?使用System.Windows.Forms.S

c# - 如何在 WPF 中获取鼠标在屏幕上的位置?

它在一个特定的控件内起作用,但它不对特定的控件起作用。如何直接从屏幕获取鼠标位置并独立于任何控件使用鼠标事件(无需平台调用)?需要2个点:鼠标不在控件内但在屏幕上时的鼠标事件。鼠标不在控件内但在屏幕上时的鼠标位置。不使用PlatformInvoke应该可以解决。接下来的两个不起作用:System.Windows.Input.Mouse.GetPosition(this)不会将鼠标位置移出特定控件。System.Windows.Forms.Cursor.Position.XSystem.Windows.Forms.Cursor.Position不起作用,因为它在WPF应用程序中没有类型,