草庐IT

WPF-dataGrid

全部标签

c# - 在 Hibernate 和 Sleep 之后,System.Timers.Timer 在 WPF 应用程序中的行为如何?

我在WPF应用程序中使用System.Timers.Timer。我想了解Timer在计算机休眠和sleep后的行为方式。在计算机从休眠状态恢复后,我的应用程序出现了一些奇怪的问题。我应该如何处理计时器,当计算机处于休眠/sleep模式时它们的行为如何?我有一个午夜计时器,它应该在每个午夜工作以重置UI上的默认值。下面是创建定时器的代码:privatevoidResetMidnightTimer(){//killtheoldtimerDisposeMidnightTimer();_midnightTimer=newTimer();//schedulingthetimertoelapse1

c# - 使用 C# 和 WPF 在代码中绘制线条

我正在尝试使用7段显示器创建数字时钟显示。我可以使用如下代码在XAML中绘制线条:但是当我尝试在代码中(从MainWindow())执行此操作时,它不起作用:Lineline=newLine();Thicknessthickness=newThickness(101,-11,362,250);line.Margin=thickness;line.Visibility=System.Windows.Visibility.Visible;line.StrokeThickness=4;line.Stroke=System.Windows.Media.Brushes.Black;line.X1

c# - 在 C# 中打印 (wpf)

我正在制作一个C#WPF程序,我的程序必须能够打印发票,但我有点难以找出WPF中打印的工作原理......如果我记得在winforms中编程,那么您将使用GDI+进行打印。但是,我认为WPF不是这种情况。如果有人能通过一些指向有用文档或示例的链接为我指明正确的方向,我将非常高兴... 最佳答案 在WPF中打印既简单又不那么简单。它基本上从您已经打印的一两行代码开始。privatevoidPrintBtn_Click(objectsender,RoutedEventArgse){PrintDialogprintDialog=newPr

c# - 如果需要,显示 WPF 工具提示

我在有限大小的控件中有一个TextBlock。如果文本太长无法放入控件中,我想显示一个包含全文的工具提示。这是您肯定从许多应用程序中了解到的经典行为。我尝试使用转换器将TextBlock宽度转换为工具提示的可见性。问题是在转换器中:publicobjectConvert(objectvalue,...'value'是DataBound项。我希望“值”是TextBlock,观察它的宽度,并将它与GridViewColumn.Width进行比较。 最佳答案 我想通了,工具提示具有PlacementTarget属性,该属性指定具有工具提示

c# - 如何设置 DataGridColumn 的宽度以适应内容 ("Auto"),但完全填充 MVVM 中 DataGrid 的可用空间?

我有一个包含一些数据的WPFDataGrid。我想设置列的宽度,使内容适合并且永远不会被裁剪(相反,水平滚动条应该可见)。此外,我希望DataGrid填充整个可用位置(我正在使用DockPanel)。我正在使用以下代码(已简化):这显然不适用于Width="Auto",因为它总是看起来像这样:这显然很难看。我想选择整行,或者选择列来填充整个宽度,这会更好,但正如您所看到的,这是行不通的。如果我改用Width="*",列的内容会被裁剪,这对我来说更糟。我找到了一个similarquestionhere,并在那里发布了解决方法。这可能行得通,但我正在使用MVVM模式,因此ItemsSour

c# - View 如何知道在 WPF 中使用什么 ViewModel?

谁能解释一下View和ViewModel是如何连接的?我在任何地方都找不到引用ViewModel的View的xaml或xaml.cs,也找不到引用View的ViewModel.cs文件中的任何内容,但它们以某种方式连接,并且将ViewModel的成员绑定(bind)到View工作.此外,在每个构造函数中,只有View的InitializeComponent和ViewModel的基本构造函数(没有View的声明/定义)。谢谢! 最佳答案 这里有多种选择。某些东西必须将View的DataContext设置为ViewModel的一个实例。

c# - WPF CheckBox : Why? 的选中和未选中状态的单独事件

是否有像Changed这样的单个事件,我可以使用它来同时处理这两个事件?为什么要这样分开?是否因为为两者设置一个事件需要您按名称引用控件,而您需要在XAML中指定该名称,这会增加困惑? 最佳答案 不直接。但是,您可以对两者使用相同的事件处理程序,并查询IsCheckedsender的属性(property)参数(当然是在将其转换为CheckBox或ToggleButton之后)。这两个事件是wpf特定技术所必需的,例如Storyboard,EventTriggers和类似的。EventTriggers无法区分状态,只能通过事件来区分

c# - WPF MVVM 使用 BooleanToVisibilityConverter 隐藏按钮

在我的WPF应用程序中,我试图根据用户选择的选项更改按钮的可见性。加载时我希望其中一个按钮不可见。我正在使用内置值转换器BooleanToVisibilityConverter。但是它不起作用,因为按钮在加载时出现。我已将属性更改为true和false,没有区别。下面是我的代码,我看不出我遗漏了什么?我的View模型中的属性boolButtCancel{get{return_buttCancel;}set{_buttCancel=value;OnPropertyChanged("ButtCancel");}}在我的app.xaml中在我的MainWindow.xaml中

c# - 在 WPF 中显示 Drawing.Image

我有一个System.Drawing.Image的实例。如何在我的WPF应用程序中显示它?我尝试使用img.Source但这不起作用。 最佳答案 我有同样的问题,结合几个答案解决了。System.Drawing.Bitmapbmp;Imageimage;...using(varms=newMemoryStream()){bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Png);ms.Position=0;varbi=newBitmapImage();bi.BeginInit();bi.C

c# - 每行带有按钮的 WPF ListView

我有一个Games列表,其中只有一个ID、一个Date和一个Time。我将此列表设置为DataContext。然后我有一个用于这些游戏的DataTemplate是://needtobutabuttonhereforeachrow要使用模板,我只是这样做:我需要向此ListView中具有相同点击事件的每一行添加一个Button,但会以某种方式传递被点击按钮的游戏ID。我该怎么做?我卡住了。如果它没有意义,请告诉我,我会尽力解释得更好。 最佳答案 第一部分,在DataTemplate中添加一个Button,并订阅Click事件X在事件处