草庐IT

WPF-dataGrid

全部标签

c# - WPF 遍历数据网格

使用WPFC#.NET4.5和visualstudio2012ulti。旧的winforms代码:foreach(DataGridViewRowparetoRowinParetoGrid.Rows){if((Convert.ToInt32(paretoRow.Cells["CurrentPareto"].Value)如您所见,我循环浏览的每一行都会检查一个特定的单元格,如果为真,我就会填充另一个单元格。这是我以前多次使用过的很好的旧winforms代码……但是。切换到WPF与我之前假设的有很多不同。DataGrid不包含Row属性。相反,我认为你需要使用:DataGridRowpare

c# - 无法加载文件或程序集 'Xceed.Wpf.Toolkit

我正在为另一个应用程序AutodeskRevit开发一个插件,它是作为一个单独的DLL类库构建的。我正在尝试使用WpfToolKitPropertygrid在我的一个WPF窗口中。属性网格在VisualStudio中显示良好,智能感知也能正常工作。但是,当我尝试在加载加载项的情况下启动Revit时,出现以下异常。System.Windows.Markup.XamlParseExceptionoccurredHResult=-2146233087Message=Couldnotloadfileorassembly'Xceed.Wpf.Toolkit,PublicKeyToken=3e46

c# - 软件渲染模式——WPF

我有一个WPF用户控件,我需要在RenderMode.SoftwareOnly中强制呈现。由于我使用的是.NET3.5,因此我必须执行以下操作:varhwndSource=PresentationSource.FromVisual(this)asHwndSource;if(hwndSource!=null){hwndSource.CompositionTarget.RenderMode=RenderMode.SoftwareOnly;}但这不适用于我的应用程序,WPF程序在少数机器上崩溃,在注册表级别关闭硬件加速似乎可以解决问题。以上代码写在窗口的Loaded事件中。如果我是正确的,L

c# - WPF 图像到字节[]

我正在尝试将System.Windows.Controls.Image转换为byte[]并且我不知道Image类中的哪个方法可以帮助解决这个问题,顺便说一下,我真的不知道该怎么办,因为在我的LINQ模型中,该字段显示为Binary类型,如果我想将它保存为byte[],我必须更改它类型?我在此处找到了代码,但没有使用WPF:BitmapnewBMP=newBitmap(originalBMP,newWidth,newHeight);System.IO.MemoryStreamstream=newSystem.IO.MemoryStream();newBMP.Save(stream,Sys

c# - 来自控制台项目的 WPF 窗口?

我最近启动了一个C#项目(VS2008)作为“控制台”项目,我在其中编写了一些库、测试程序等。现在我想添加几个WPF窗口,但它看起来像控制台项目不会让我那样做的。我来自Java,所以这有点奇怪。我如何添加一个WPF表单(我将从我的“主”类实例化我自己? 最佳答案 接受的答案并不完全正确,恐怕,只需在您的主方法之前添加[STAThread]属性并引用正确的库(如System.Windows),您就可以添加wpf窗口了。编辑:在评论中@JamesWilkins为我提供了这个有用的链接:http://code-phix.blogspot.

c# - 动态添加多个按钮到 wpf 窗口?

我如何在C#中向一个窗口添加多个按钮?这是我需要做的...我从字典中获取多个用户值(在合理范围内,只有@5-6个值)。对于每个值,我需要创建一个按钮。现在,我如何命名按钮,而不是按钮内的文本?我如何为每个按钮定义“点击”方法(它们都不同)?如果我不再需要该按钮,该如何删除该按钮? 最佳答案 我会封装整个东西,通常命名按钮应该没有意义。像这样:publicclassSomeDataModel{publicstringContent{get;}publicICommandCommand{get;}publicSomeDataModel(

c# - WPF 中的 Windows 小工具 - 在激活 "Show desktop"时显示

我正在尝试使用WPF创建类似“小工具”的应用程序。目标是获得与普通Windows7小工具相同的行为:没有任务栏条目当您alt+tab窗口时不显示并不总是在最前面,应用程序可以在最前面执行“AeroPeek”时可见使用“显示桌面”/Windows+D时可见我已经能够完成前四个目标,但无法找到第五个问题的解决方案。我最接近的是使用HowdoyoudoAppBardocking(toscreenedge,likeWinAmp)inWPF?中的实用程序类,但这会将应用程序变成一个“工具栏”,从而将应用程序从屏幕上放置我的小工具GUI的部分中移除。我可以看到以前在Stackoverflow上提出

c# - WPF 从父级覆盖 IsEnabled

我只是在寻找一种在父控件具有IsEnabled=false时启用子控件的方法。到目前为止,我找到的所有答案都说这是不可能的-必须启用父控件并禁用子控件,但仍应启用的控件除外。但是,通过覆盖App.xaml.cs文件中IsEnabledProperty的元数据,我能够更改此默认行为:protectedoverridevoidOnStartup(StartupEventArgse){UIElement.IsEnabledProperty.OverrideMetadata(typeof(FrameworkElement),newUIPropertyMetadata(true,IsEnable

c# - 了解 WPF Dispatcher.BeginInvoke

我的印象是dispatcher会遵循优先级排队的操作并根据优先级执行操作或将操作添加到队列的顺序(如果优先级相同)直到我被告知WPFUI调度程序不是这种情况。有人告诉我,如果UI线程上的操作需要更长的持续时间,比如数据库读取UI调度程序简单地尝试执行队列中的下一组操作。我无法接受它,所以决定编写一个示例WPF应用程序,其中包含一个按钮和三个矩形,单击按钮时,矩形会填充不同的颜色。在代码隐藏中privatevoidOnFillColorsClick(objectsender,RoutedEventArgse){vardispatcher=Application.Current.MainW

c# - WPF UserControl 的服务器端渲染

我正在用C#/.Net4.5编写一个服务器端控制台应用程序,它获取一些数据并创建静态图表图像,这些图像被保存以供网络服务器显示。我主要使用此处描述的方法:http://lordzoltan.blogspot.com/2010/09/using-wpf-to-render-bitmaps.html但是,我添加了一个mainContainer.UpdateLayout();在Arrange()之后,以便数据绑定(bind)将更新并在渲染图像中可见,以及在它之前的Measure()永远......啊,我不会去那里。这是执行渲染的方法:voidRenderAndSave(UIElementta