草庐IT

WPF-Window

全部标签

c# - 在 WPF 中平滑图像边缘

我有一些256x256图像,我在WPF应用程序中使用图像控件。虽然它们都是256x256,但我将一些控件更改为64x64等。当我调整它的大小(使用填充作为我的拉伸(stretch)属性)时,边缘变得非常粗糙。即使在像三角形这样简单的东西上,它也很明显:是否有解决此问题的好方法,或者我是否需要在将图像放入应用程序之前在photoshop中调整图像的大小? 最佳答案 您需要设置图像的渲染选项。尝试将图像的样式设置为:要使用图像,只需像以前一样调用:或者,在单个图像上使用RenderOptions:有关详细信息,请参阅:http://ms

c# - 使用 WPF 数据网格时如何更改列标题背景颜色

如何在使用WPF数据网格时更改列标题的背景颜色?需要直接修改xaml? 最佳答案 使用带有针对DataGridColumnHeader的setter的样式: 关于c#-使用WPF数据网格时如何更改列标题背景颜色,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4486977/

c# - 使用 WPF 数据网格时如何更改列标题背景颜色

如何在使用WPF数据网格时更改列标题的背景颜色?需要直接修改xaml? 最佳答案 使用带有针对DataGridColumnHeader的setter的样式: 关于c#-使用WPF数据网格时如何更改列标题背景颜色,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4486977/

c# - 如何从 WPF TextBlock 中删除额外的填充?

默认情况下,WPFTextBlock似乎应用了额外的顶部和底部填充。我希望不是这样。我试过设置负填充,但出现异常:0,-10,0,0'isnotavalidvalueforproperty'Padding'.我试过设置LineHeight属性,但没有明显效果。这是TextBlock在Blend中的样子。我用栗红色标记了有问题的部分。 最佳答案 一些研究和H.B.引导我找到正确的答案,即设置以下属性: 关于c#-如何从WPFTextBlock中删除额外的填充?,我们在StackOverfl

c# - 如何从 WPF TextBlock 中删除额外的填充?

默认情况下,WPFTextBlock似乎应用了额外的顶部和底部填充。我希望不是这样。我试过设置负填充,但出现异常:0,-10,0,0'isnotavalidvalueforproperty'Padding'.我试过设置LineHeight属性,但没有明显效果。这是TextBlock在Blend中的样子。我用栗红色标记了有问题的部分。 最佳答案 一些研究和H.B.引导我找到正确的答案,即设置以下属性: 关于c#-如何从WPFTextBlock中删除额外的填充?,我们在StackOverfl

c# - 更改 WPF C# 中某些文本的颜色和字体

有没有办法改变我想放在TextBox或RichTextBox上的文本的某些部分的颜色和字体。我正在使用C#WPF。例如richTextBox.AppendText("Text1"+word+"Text2");可变字例如是来自Text1和Text2的其他颜色和字体。是否可能以及如何做到这一点? 最佳答案 如果您只想快速着色,最简单的解决方案可能是将RTB内容的末尾用作范围并对其应用格式。例如:TextRangerangeOfText1=newTextRange(richTextBox.Document.ContentEnd,richT

c# - 更改 WPF C# 中某些文本的颜色和字体

有没有办法改变我想放在TextBox或RichTextBox上的文本的某些部分的颜色和字体。我正在使用C#WPF。例如richTextBox.AppendText("Text1"+word+"Text2");可变字例如是来自Text1和Text2的其他颜色和字体。是否可能以及如何做到这一点? 最佳答案 如果您只想快速着色,最简单的解决方案可能是将RTB内容的末尾用作范围并对其应用格式。例如:TextRangerangeOfText1=newTextRange(richTextBox.Document.ContentEnd,richT

WPF跨线程访问UI对象之Dispatcher的用法(含Task)

WPF程序员处理多线程的一个方式-Dispatcher当我们打开一个WPF应用程序即开启了一个进程,该进程中至少包含两个线程。一个线程用于处理呈现:隐藏在后台运行一个线程用于管理用户界面:接收输入、处理事件、绘制屏幕以及运行应用程序代码。即UI线程。在UI线程中有一个Dispatcher对象,管理每一个需要执行的工作项。Dispatcher会根据每个工作项的优先级排队。向Dispatcher列队中添加工作项时可指定10个不同的级别。那么问题来了,如果遇到耗时操作的时候,该操作如果依旧发生在UI线程中,Dispatcher列队中其他的需要执行的工作项都要等待,从而造成界面假死的现象。为了加快响应

c# - 提高 WPF DataGrid 性能

在我的.NET3.5WPF应用程序中,我有一个WPFDataGrid将填充500列和50行。App的性能在滚动、DataGrid.Items.Refresh()或选择行时非常差。实际上,应用程序将花费大约20秒来更新布局。Layout_Updated()事件将在20秒后触发。如果我将列减少到50个或更少,应用程序将非常敏感。根据我的发现,性能与列数直接相关。如何提高DataGrid的性能? 最佳答案 您可以打开一些选项来帮助您处理DataGrid对象EnableColumnVirtualization=trueEnableRowVi

c# - 提高 WPF DataGrid 性能

在我的.NET3.5WPF应用程序中,我有一个WPFDataGrid将填充500列和50行。App的性能在滚动、DataGrid.Items.Refresh()或选择行时非常差。实际上,应用程序将花费大约20秒来更新布局。Layout_Updated()事件将在20秒后触发。如果我将列减少到50个或更少,应用程序将非常敏感。根据我的发现,性能与列数直接相关。如何提高DataGrid的性能? 最佳答案 您可以打开一些选项来帮助您处理DataGrid对象EnableColumnVirtualization=trueEnableRowVi