草庐IT

WPF-dataGrid

全部标签

c# - DataGrid 行内容垂直对齐

我有一个来自WPF4.0RTM的常规DataGrid,我将数据库中的数据放入其中。为了使DataGrid的样式简洁明了,我使用高/高行,默认情况下DataGrid将行内容对齐在顶部垂直位置,但我想设置一个中心垂直对齐。我已经尝试过使用这个属性VerticalAlignment="Center"在DataGrid选项中,但它对我没有帮助。这里是一个XAML代码示例,描述了我的没有中心垂直对齐的DataGrid:执行这段代码的结果:如您所见,所有行内容都顶部垂直对齐。我必须添加什么才能使每行内容居中垂直对齐? 最佳答案 MSDN上此问题

c# - 如何在 WPF 中将主窗口居中?

我有一个WPF应用程序,我需要知道如何以编程方式(不是在XAML中)使wain窗口居中。我需要能够在启动时和响应某些用户事件时执行此操作。它必须动态计算,因为窗口大小本身是动态的。最简单的方法是什么?在旧的Win32代码下,我会调用系统度量函数并解决所有问题。这仍然是它完成的方式还是有一个简单的CenterWindowOnScreen()函数我现在可以调用。 最佳答案 好吧,对于启动时间,您可以设置startuplocation:window.WindowStartupLocation=WindowStartupLocation.C

c# - 如何通过拖动扩展窗口框架使 WPF 窗口可移动?

在WindowsExplorer和InternetExplorer等应用程序中,您可以捕获标题栏下方的扩展框架区域并将窗口四处拖动。对于WinForms应用程序,表单和控件尽可能接近nativeWin32API;一个人会简单地覆盖他们表单中的WndProc()处理程序,处理WM_NCHITTEST窗口消息并通过返回来欺骗系统认为在框架区域上的点击实际上是在标题栏上的点击HTCAPTION。我已经在我自己的WinForms应用程序中做到了这一点,并取得了令人愉快的效果。在WPF中,我还可以实现一个类似的WndProc()方法,并将它挂接到我的WPF窗口句柄,同时将窗口框架扩展到客户区,如

c# - WPF WebBrowser 控件 - 如何抑制脚本错误?

我在这里发现了一个类似的问题:HowdoIsuppressscripterrorswhenusingtheWPFWebBrowsercontrol?但这些解决方案都不适合我。我需要阻止弹出窗口出现,因为我正在使用WebBrowser自动执行网站上的管理任务。SuppressScriptErrors似乎不是我的WebControl上的可用属性:( 最佳答案 这是一个C#例程,它能够将WPF的WebBrowser置于静默模式。您不能在WebBrowser初始化时调用它,因为它太早了,而是在导航发生之后调用。这是一个带有wbMainWeb

c# - 在 WPF/C# 中使用全局键盘钩子(Hook) (WH_KEYBOARD_LL)

我根据自己在互联网上找到的代码拼接在一起WH_KEYBOARD_LL帮助程序类:将以下代码放入您的一些实用程序库中,让它成为YourUtils.cs:usingSystem;usingSystem.Diagnostics;usingSystem.Runtime.InteropServices;usingSystem.Runtime.CompilerServices;usingSystem.Windows.Input;namespaceMYCOMPANYHERE.WPF.KeyboardHelper{publicclassKeyboardListener:IDisposable{priv

c# - 如何使 WPF 窗口位于我的应用程序的所有其他窗口之上(不是系统范围的)?

我希望我的窗口位于所有其他窗口之上仅在我的应用程序中。如果我设置了一个窗口的TopMost属性,它就会出现在所有应用程序的所有窗口之上,而我不希望这样。 最佳答案 需要设置窗口的owner属性。您可以通过showdialog显示一个窗口以阻止您的主窗口,或者您可以正常显示它并将其放在所有者之上而不阻止所有者。这里是代码隐藏部分的代码示例——我省略了所有明显的东西:namespaceStackoverflowExample{publicpartialclassMainWindow:Window{publicMainWindow(){I

c# - 如何从 C# 代码访问 wpf 中的 ResourceDictionary?

我在xaml文件中定义了一个DataTemplate,我想通过C#代码访问它。谁能告诉我如何访问它?我添加了一个新的ResourceDictionary文件,它的名称是Dictionary1.xaml。我有一个数据模板,例如:不是我有一个名为listBox1的ListBox,我想将它分配给它的Itemtemplate属性但我不明白我该怎么做? 最佳答案 因为Application.Current在我的例子中是空的,所以我最终使用了这个:varmyResourceDictionary=newResourceDictionary();m

c# - WPF XAML 字符串格式日期时间 : Output in wrong culture?

我在输出DateTime值时遇到了一些问题。我的计算机的当前文化设置为de-AT(奥地利)。下面的代码strings1=DateTime.Now.ToString("d");strings2=string.Format("{0:d}",DateTime.Now);导致s1和s2都具有正确的值“30.06.2009”。但是当在XAML中使用相同的格式时输出是“6/30/2009”。XAMLStringFormat似乎忽略了当前的区域性设置。这在Vista和XP上都会发生。我不想指定自定义格式,因为输出的格式应符合用户的首选文化设置。有人遇到同样的问题吗?这是WPF中的错误吗?

c# - 根据值更改 DataGrid 单元格颜色

我有一个WPF数据网格,我想要根据值使用不同的单元格颜色。我的xaml中有以下代码StyleTargetType="DataGridCell"但不是只选择一个单元格而是选择所有行?我错过了什么? 最佳答案 如果您尝试设置DataGrid.CellStyle,则DataContext将成为行,因此如果您想更改基于一个单元格的颜色,在特定列中执行此操作可能最简单,尤其是因为列可以有不同的内容,例如TextBlocks、ComboBoxes和CheckBoxes。下面是将Name为John的所有单元格设置为浅绿色的示例:你也可以使用Val

c# - WPF 中的数字数据输入

您如何处理WPF应用程序中的数值输入?在没有NumericUpDown控件的情况下,我一直在使用TextBox并使用下面的代码处理它的PreviewKeyDown事件,但它非常难看。有没有人找到一种更优雅的方式来从用户那里获取数字数据而不依赖第三方控件?privatevoidNumericEditPreviewKeyDown(objectsender,KeyEventArgse){boolisNumPadNumeric=(e.Key>=Key.NumPad0&&e.Key=Key.D0&&e.Key 最佳答案 怎么样:protect