问题标签 [ismouseover]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - 隐藏复选框,直到鼠标悬停在 WPF 上
我是 XAML 的新手,但我希望CheckBox
在我的应用程序中隐藏该选项,直到用户将鼠标悬停在该行上并可以从那里选中该框。这是我目前拥有的,我不确定为什么它不起作用。
xaml - 在 Stackpanel 鼠标悬停上更改标签前景
如何仅使用 xaml 更改代码中标签和 TextBlock 的前景?
或者甚至可以在 Stackpanel IsMouseOver 事件发生后立即更改标签前景,只需使用 xaml?
到目前为止,我发现的唯一方法是使用 C# 方法对其进行更改。但结果我有 4 StackPanels 8 方法......
我找不到解决此问题的正确方法,感谢您对这个问题的帮助。
谢邀。
c# - 在代码隐藏中设置按钮的背景后,按钮的触发器 IsMouseOver 停止工作
当光标悬停在按钮上时,我希望按钮的背景发生变化。
我设法以一种使用“IsMouseOver”触发器的样式来做到这一点,该触发器将按钮的背景设置为红色。
当点击事件发生时,我还希望按钮在两种颜色之间改变它的背景。
我已经设法在蓝色和绿色之间切换的窗口的代码隐藏中做到了这一点。
问题
只要我不单击按钮,触发器就会按预期工作。
当我单击按钮时,背景会按预期更改为蓝色或绿色。
如果我随后将按钮悬停,则在用光标悬停时背景不会设置为红色。
XAML 代码
窗口代码隐藏
我怀疑触发器确实有效,但问题在于这里的其他东西。
可能是什么问题呢?
如何解决这个问题?
c# - 为什么 IsMouseOver 触发器不适用于 Grid ColumnDefinition?
目标:
我正在尝试创建一个手风琴风格Grid
,仅使用几列(ColumnDefinition
)。
预期行为:
当鼠标光标位于列上方时,ColumnDefinition
Width
应该会增加。2*
它应该返回到1*
它不是的时候。
实际结果:
列不对其上方的光标作出反应。宽度保持固定,即1*
。
我试过的:
Style
对Grid
元素本身进行完全相同的测试(仅切换Grid
Background
属性代替ColumnDefinition
Width
,但仍然由相同的 触发IsMouseOver
,它工作正常。)(在下面的第一次编辑中添加了与此相关的内容。)- 将
Background="Transparent"
属性添加到Grid
元素,以防光标没有“粘”到。(当然,没有Background
属性ColumnDefinition
可以尝试相同的。) - 限制高度
Rectangles
以查看触发器是否发生在它们上方或在同一列但在它们上方/下方。把所有的Rectangles
东西都去掉(然而,甚至看不到触发效果)。 - 添加/删除首字母
Setter Property="Width" Value="1*"
(Style.Triggers
标签上方) - 明确指的是
Style
带有它的x:Key
属性。 - 在 WPF Core .NET 5.0 上尝试过。和 WPF .NET 框架 4.7.2。
我知道还有其他方法可以完成这项工作(将Column
宽度保留为Auto
并使用Widths
of Rectangles
,或者可能更改Column
Widths
代码隐藏中的通过事件)。但是使用宽度的行/列星形单位和单一样式似乎是完美的方式,无需编写任何额外的逻辑。我真的不明白为什么这行不通。我猜现在光标在列区域中根本无法识别,但我无法理解原因。
编辑:
IsMouseOver
for 比方说Grid
,是从UIElement
类(UIElement Docs )继承的,但对于ColumnDefinition
它是从ContentElement
类(ContentElement Docs)继承的。- 添加了我的临时解决方案,以防它帮助某人......