Tag: 控制

c#WPF如何以编程方式设置控件的位置,宽度和高度?

我正在做我的第一个WPF应用程序。 我有问题,当我的表格最大化或全屏时,我的控件不会resize,只是停留在同一位置。 只有表格最大化。 在winform中,我可以在.cs中进行调整,如下所示: panel6.Width panel6.Height panel6.Location 这将帮助我设置它,如果我的表格最大化。我通过使用一些算术,我得到屏幕的分辨率和一些计算,并获得值,并可以将其设置为宽度,高度和位置。 但这是在WINFORM中。 我将如何解决WPF中最大化和全屏的问题? 有没有办法通过.cs文件以编程方式完成? 或WPF是否有一个简单的内置控件来解决这个问题? 假设这个例子我在WPF中使用dockpanel。 如果窗口最大化但其他控件仍然存在则毫无意义。 有任何想法吗?

获取Control.KeyDown上的char?

处理Control.OnKeyPress事件时,有一个包含KeyChar的KeyPressEventArgs 。 出于可用性原因,我需要完全相同的KeyChar但在处理OnKeyDown事件时。 KeyEventArgs不包含任何与char相关的数据。 我的意思是,如果在有或没有Shift的情况下按A键,它不会影响KeyCode , KeyData或KeyValue 。 使用另一种语言时,我仍然可以获得资本英语价值。 如何在KeyDown事件中获取KeyPressEventArgs.KeyChar ? 谢谢。

MS Project Gantt图表控制在C#中的使用

有没有人在C#中使用MS Project Gantt图表控件? 如果是,您可以分享一些资源吗?

知道是否在XAML中设置了DependencyProperty

我有一个控件,它暴露了一个名为PlacementTarget的DP(它绑定到子弹出FWIW)。 我想要做的是如果没有在XAML中设置PlacementTarget,那么(控件将)将它设置为控件所在的Window。当我说’not set’时,我并不仅仅意味着’is null’(这允许用户dev将PlacementTarget设置为null,并且控件不会自动将其设置为Window)。 我有一个名为placementTargetIsSet的字段,我在Change事件处理程序中将其设置为true public readonly static DependencyProperty PlacementTargetProperty = DependencyProperty.Register( “PlacementTarget”, typeof(UIElement), typeof(MyControl), new PropertyMetadata(new PropertyChangedCallback(PlacementTargetChanged))); static void PlacementTargetChanged( DependencyObject sender, DependencyPropertyChangedEventArgs e) { MyControl ctrl = (sender as MyControl); ctrl.placementTargetIsSet = true; } public UIElement PlacementTarget { get { return (UIElement)GetValue(PlacementTargetProperty); } set { SetValue(PlacementTargetProperty, value); } } 但是我发现更改的事件发生在OnApplyTemplate和Loaded事件之后。 即当OnApplyTemplate或Loaded发生时,placementTargetIsSet == false,无论是否已设置PlacementTarget(在XAML中)。 […]

保存更高分辨率的图表而不会弄乱外观

你们都必须原谅我的无知,因为我最近才开始使用C#。 我只是对Windows图表控件有疑问,因为我遇到了一个相当愚蠢的问题。 我有一个程序,其中有一些报告,包括漂亮的窗口图表来表示一些数据。 但是,我一直在将这些图表保存到文件以及各种用途,只需使用以下内容: chart2.SaveImage(savefilename,ChartImageFormat.Png); 我的第一个问题在于,我不确定如何在保存前不先增加图表控件的大小而将其保存为更高的分辨率。 拥有合理质量的图像会很高兴。 第二个问题是当我确实增加图表控件的大小时,可用的操作似乎只能增加实际图表的大小,而不是标签或文本。 如果我可以手动更改所有这些,这不会是一个问题,这就是我对条形图所做的,但有一条线我无法弄清楚如何制作更厚的:饼图上的标签线。 我在下图中画了一个箭头: http://www.bolinger.ca/chart.png 因此,当图表增加到合理的分辨率时,由于没有增加到适当的相对大小,该线几乎不可见。 我觉得应该有办法改变它,但无法弄清楚它会是什么。 再次,原谅我的无知。 如果这两个问题中的任何一个都可以解决,那么我可以轻松地知道这些饼图看起来不错。 谢谢!

.NET(或MFC)的高速图形控制?

我需要编写一个数字示波器类型的应用程序。 那里有很多很棒的静态图形控件,但是我需要一些可以绘制16条轨迹的东西,每秒处理4000个样本。 有谁知道.NET的高速图形控件? 我甚至会使用MFC,因为它可以包装到.NET控件中。 谢谢您的帮助!

自定义wpf中切换按钮的切换状态

我想在wpf中自定义切换按钮的切换状态。 我希望在打开按钮时将图像设置为切换按钮,并在关闭时设置另一个图像。 为此,我想到了使用触发器。 这就是我最终做的事情, … … 上面的代码段似乎只适用于列表框中的两个项目。 如果多个项具有绑定值,status为true,则它不起作用(仅适用于一个此类项)。 请告诉我,我是否正在朝着正确的方向前进。 还告诉我实现这一目标的其他方法。

家谱树控制

我(由我的妻子)负责创建一个程序,让她跟踪我们家庭两侧的家谱。 有没有人知道代表这类信息的成本效益(免费)控制。 我正在寻找的是一个修改过的组织结构图表/树。 修改是任何节点应该有2个父节点(EG一个孩子应该有一个母亲/父亲)。 到目前为止我提出的解决方案是拥有2棵树,一棵祖先树和一棵后代树,每个树被检查为每个树的根节点。 它有效,但有点笨重。 我主要在c#WinForms中工作,因此.Net类型控件或源代码是首选。

防止控件移出其容器

这个问题与我的另一个问题有关,可以在这里找到 。 我想在其父容器中移动一个PictureBox ,这是一个TabPage (如果它确实有任何区别!)使用下面的代码可以完成移动: private Point start = Point.Empty; private bool _mapPackageIsMoving; void pictureBoxPackageView_MouseUp(object sender, MouseEventArgs e) { _mapPackageIsMoving = false; } void pictureBoxPackageView_MouseMove(object sender, MouseEventArgs e) { if (_mapPackageIsMoving) { pictureBoxPackageView.Location = new Point( pictureBoxPackageView.Left + (eX – start.X), pictureBoxPackageView.Top + (eY – start.Y)); } } void pictureBoxPackageView_MouseDown(object sender, MouseEventArgs e) { start […]

TabControl中的C#Tab切换

我遇到了这样的问题,我觉得很难克服。 在WinForms中,我得到了一个带有n个TabPages的TabControl。 我想扩展Ctrl + Tab / Ctrl + Shift + Tab切换。 所以我写了一些代码,只要焦点在TabControl或Form上,它就能正常工作。 当应用程序焦点位于TabPage的INSIDE中时(例如放在TabPage内的按钮上),在按下Ctrl + Tab的同时,我的代码被忽略,TabControl自己跳到TabPage(避免我的代码)。 谁有想法?