草庐IT

c# - 从 C# 代码动态切换 WPF 网格列的可见性

我的问题是:我找不到如何切换WPF网格列的可见性。假设以下XAML标记:Aferwards网格充满了一些控件等。现在我想从我的C#代码中动态隐藏单个列。我尝试通过将列的定义宽度设置为零来实现这一点,例如Column1.Width=0。这行得通,但我不太喜欢这种解决方案-真的没有更好的方法吗?我正在寻找类似myGrid.Columns[0].Visibility=COLLAPSED或Column1.Visibility=HIDDEN的东西。我只是找不到类似的东西-有什么想法吗? 最佳答案 请在您的ViewModel中实现INotify

c# - WPF DatePicker,显示今天的日期并绑定(bind)到属性

这可能是SettheDefaultDateofWPFDatePickertoCurrentDate的重复项但我已经尝试了问题中的代码但它不起作用,希望我遗漏了一些简单的东西好的,正如问题所述,我想在加载View时显示当前日期,但是,我将SelectedDate属性绑定(bind)到我的属性,我认为您不能使用“文本”,因为我我绑定(bind)到的是DateTime属性。是的,我可以在模型中进行转换,但XAML(我认为)应该能够为我完成此操作。好的,我知道出了什么问题,日期显示为“01/01/0001”,因为它绑定(bind)到我的属性(property),默认为01/01/0001,所以

c# - WPF 应用程序中的 SendKeys.Send 方法

我正在尝试为浏览器控件发送击键(Ctrl+t)。但是,SendKeys.Send()在WPF应用程序中显示错误?我的问题是:我可以在WPF应用程序中使用SendKeys.Send()方法吗?是否有发送自动击键的替代方法? 最佳答案 SendKeys是System.Windows.Forms命名空间的一部分,在Wpf中没有等效的方法。您不能将SendKeys.Send与WPF一起使用,但可以使用SendKeys.SendWait方法,如果您将System.Windows.Forms添加到项目引用中。您唯一的其他选择是PInvokeSe

c# - 哪个运行时性能更快 : WPF or Winforms?

我知道WPF更复杂、更灵活,因此可以考虑进行更多计算。但是由于渲染是在GPU上完成的,对于相同的应用程序(功能和视觉),它不会比Winforms更快吗?我的意思是,当您不运行任何游戏或进行繁重的3D渲染时,GPU不会执行繁重的工作,对吧?而CPU总是很忙。这是一个有效的假设还是WPF的GPU利用率是其管道中非常小的操作?编辑:我感兴趣的应用程序是一个3d建模和动画软件,您可以在其中使用3d视口(viewport)导航和编辑场景以及场景中的对象。但我想使用WPF,因为它的现代架构,而且是从头开始。EDIT2:同样出于我的目的,由于软件的高端要求,我将对应用程序本身使用DirectX。至于

c# - 跟踪监听器以写入文本框(WPF 应用程序)

对于我的WPF应用程序,我使用TextWriterTraceListener记录到一个文本文件。我还可以如何将Trace输出显示到文本框? 最佳答案 我将其用于C#winforms,应该可以轻松调整为wpfpublicclassMyTraceListener:TraceListener{privateTextBoxBaseoutput;publicMyTraceListener(TextBoxBaseoutput){this.Name="Trace";this.output=output;}publicoverridevoidWri

c# - 使用 WPF 和 Caliburn.Micro 在一个 View 中添加多个 View

我正在尝试学习将Caliburn.Micro与WPF结合使用。如何在一个View中添加多个View?另一个View,带有View模型:MyControlViewModel...如果我只是添加View,它不会检测到它有一个具有适当名称的View模型。我怎样才能将它绑定(bind)到它?我尝试过使用不同的Bootstrap并使用诸如cal:Bind.Model="path/classname/mergeofthetwo"之类的东西。已尝试将其添加到主视图和用户控件(MyControlView)。我非常感谢有关此事的任何帮助。我几乎卡住了,我真的很想使用Caliburn.Micro:)最好的

C# WPF : slider going to exact position

我在WPF窗口中使用slider,我希望当用户单击slider轨道上的某处时,拇指会转到该确切位置。目前,当我点击某个地方时,拇指会指向那个位置,但不会正好那个位置。我怎样才能实现我想要的?编辑:一个更好地解释我想要什么的例子:如果拇指位于10并且我在100附近按下鼠标,我希望它跳到100(不通过其他值)。 最佳答案 您需要将IsMoveToPointEnabled设置为True:http://msdn.microsoft.com/en-us/library/system.windows.controls.slider.ismove

c# - WPF是否有鼠标滚轮上下滚动事件

我检查了msdn。对于鼠标滚轮相关的事件,只有一个选项——UIElement.MouseWheel我想做的是监听鼠标滚轮向前(向上)和向后(向下)滚动事件。注意:不是单击中间的滚轮按钮。 最佳答案 没有,只有一个事件。当您查看MouseWheelEventArgs类时,有一个属性Delta。当滚轮远离用户旋转时,Delta为正,当滚轮朝向用户旋转时,Delta为负。 关于c#-WPF是否有鼠标滚轮上下滚动事件,我们在StackOverflow上找到一个类似的问题:

c# - 每个列的 WPF DataGrid CustomSort

我有一个绑定(bind)到封装ObservableCollection的CollectionViewSource的WPFDataGrid。这个CollectionViewSource有两个主要目标:1)按T的特定属性对每个项目进行分组。我在GroupDescription中使用ValueConverter来获得我想要的分组行为。2)按a)主要是组名称(如上定义)和b)各个组项目对网格进行排序。我通过将自定义IComparer附加到CollectionViewSource的“CustomSort”属性来实现这一点。这在大多数情况下效果很好,但是一旦单击列标题,排序逻辑就会被覆盖。我不想禁

c# - 了解 WPF 派生 WIndow 类

我确信这很简单,但对于使用C#的WPF来说,这对我来说是新的。我知道从类继承并且已经做过很多次,比如在C#WinForms项目中......publicclassMyClass:DerivedFromClass{}但是,在WPF中遇到困难,这就是问题所在。我想构建我自己的一组控件,用作新学习项目的基线……预设我自己的样式、颜色、背景和其他功能。没问题。首先从WPF窗口开始并创建“MyWindow”。现在,我想采用这个基线“MyWindow”并将其子类化为另一个类MySubClassedWindow。因此,我创建了一个新的Window类,默认情况下,VS2010构建了窗体的设计器和代码部