Tag: wpf controls

鼠标事件在WPF中如何工作?

WPF控件如何知道鼠标事件与它相关,以便它可以提升其鼠标事件。 例如,Button控件如何知道捕获MouseDown和MouseUp事件并将其转换为click事件。

动态添加wpf控件以包装面板

我正在尝试动态地将控件添加到窗口上的包装面板但是在将两个包装面板控件添加到原始包装面板控件之后它不再添加这里是用于添加图像的代码 Random rn = new Random(); ImageContainer.Children.Add(displayimage(rn.Next(amount))); ImageContainer.InvalidateVisual(); 我是wpf的新手,只是想知道我是做错了什么或丢失了什么。 任何帮助将不胜感激 编辑 public WrapPanel displayimage(int i) { WrapPanel pn = new WrapPanel(); pn.Width = 350; pn.Height = 400; pn.Background = new SolidColorBrush(Colors.White); BitmapImage bm = new BitmapImage(new Uri(imagePaths[i])); Image im = new Image(); im.Source = bm; im.Height = 300; im.Width = 400; im.Margin = new Thickness(25,25,25,25); […]

允许鼠标事件通过半透明弹出窗口

我正在尝试从Popup的控件执行拖放操作。 被拖动的内容将被放置在拖放的位置,因此当拖动开始时,我想让Popup半透明以允许放置在它下面。 但到目前为止,我没有让鼠标事件通过我的半透明Popup 。 以下xaml工作正常,当使用鼠标hoverRectangle时, Button仍然可以单击 但是当鼠标hover在Popup的Rectangle时,以下xaml无法允许鼠标事件通过。 我试图获取Rectangle的PopupRoot顶级父级,并为可视树中的每个元素显式设置IsHitTestVisible和Opacity ,但它仍然不起作用。 我可以让它工作的唯一方法是将Background / Fill设置为Transparent但它看起来很奇怪并且hover非Transparent的部分仍然失败。 我已经阅读了以下链接,但据我所知,这只适用于Window而不是Popup 。 如何在WPF中创建一个允许鼠标事件通过的半透明窗口 有没有人有任何解决方案或建议? 🙂

阻止ItemContainerStyle覆盖已设置的Style

有没有办法防止ItemContainerStyle覆盖已经设置的样式(例如通过 )? MenuItem的样式已在ResourceDictionary XAML文件中定义,该文件在App启动时加载: .. and so on 我有以下MenuItem XAML定义。 MenuItem包含在通用TextBlock的ContextMenu中(我猜是值得一提)。 菜单本身一切顺利,但它的子项(Enum的实际值)得到了不同的样式,因为ItemContainerStyle会覆盖它: ItemContainerStyle源于我的另一个问题 。 MenuItem位于其他图层中,顶层是自定义ContentControl: public class SomeGradientPanel : ContentControl { public SomeGradientPanel () { DefaultStyleKey = typeof(SomeGradientPanel ); } } 上面的代码似乎是问题根源的一个很好的候选者! 因此,完整的结构是: 我可以在ItemContainerStyle引用已定义的MenuItem Style吗? 样式覆盖仅发生在所述MenuItem的子节点上,父节点具有预期的样式。 谢谢您的意见 !

WPF中的编号列表

我正在尝试在基于WPF的UI中创建编号列表(带有子列表)。 我知道BulletDecorator用于创建项目符号列表,我希望编号列表可能有类似内容。 我希望能达到以下目的: 项目清单 项目清单 a)子列表项 b)子列表项 项目清单 理想情况下,我还想对编号格式进行一些控制,以便能够使用字母(例如子项目所示)。

WPF ListBox IndexFromPoint

我正在WPF ListBoxes之间执行拖放操作,我希望能够在它被删除的位置插入集合而不是列表的末尾。 有没有人知道类似于WinForms ListBox IndexFromPoint函数的解决方案?

WPF中的透明边框以编程方式

生成在XAML文件中的视口上透明的边框(用于Trackball事件)是微不足道的: 但是我如何在.cs中做到这一点? Border border = new Border(); **border.Background = (VisualBrush)Colors.Transparent;** grid.Children.Add(viewport); grid.Children.Add(border); 这当然不起作用。

在WPF中,如何获取当前主题的按钮背景?

在我的wpf应用程序中,我需要获取主题的按钮背景画笔来绘制另一个控件的背景。 我尝试引用PresentationFramework.Aero.dll并使用ButtonChrome,但到目前为止还没有运气。 我也尝试过使用VisualStyleRenderer,但似乎这个类只能用于绘制背景(我无法获得画笔并将其设置为另一个控件的背景)。 有任何想法吗? 亲切的问候,Eduardo Melo

WPF自定义按钮使用资源中的几何

有没有办法使用像这样的PathGeometry集合: 路径1 F1 M 170.255,178.837L 170.255,221.158C 170.255,228.917 164.174,230.777 156.745,225.286L 136.003,209.973C 128.572,204.488 128.572,195.512 136.003,190.023L 156.745,174.706C 164.174,169.217 170.255,171.079 170.255,178.837 Z 路径2 F1 M 152.29,174.464L 134.314,187.734C 129.978,190.937 127.589,195.29 127.589,199.994C 127.589,204.7 129.978,209.057 134.314,212.26L 152.29,225.531C 150.333,229.378 145.412,229.52 139.678,225.286L 118.935,209.973C 111.506,204.489 111.506,195.512 118.935,190.022L 139.678,174.708C 145.412,170.475 150.333,170.617 152.29,174.464 Z 并使用它们制作自定义按钮的方式与制作本例中显示的圆形按钮的方式相同? http://www.wpftutorial.net/Templates.html 该示例涉及覆盖控件模板,如果我想要有许多自定义形状的按钮,这似乎很多工作。 如果我想从资源加载几何点怎么办?

如何将控件集中在WPF中的tabItem中

我在表单中有tabControl。 在其中一个tabItems中,我有文本框(myTextBox)。 我们称之为tabItem1。 当我在tabItem1中放置的这个文本框中写入内容时,我想在tabItem2中聚焦textbox(searchTextBox)。 我把这段代码放在了KeyDown中 tabItem2.Focus(); searchTextBox.Text = searchTextBoxTeropatik.Text; searchTextBox.Focus(); 我为此目的编写了这个小函数。 但是有一个大问题。 我按下了键 tabItem2获得焦点。 但是searchTextBox没有得到关注。(我的问题)