![]() |
1
2
您可以通过重写onmousemove来完成。这个 OriginalSource mouseEventargs的属性将为您提供鼠标正下方的元素。你可以使用 ContainerFromElement 获取包含该元素的ComboBox项,然后 ItemContainerGenerator.ItemFromContainer 要获取要选择的项目:
|
![]() |
2
0
而是使用文本块、带箭头的ToggleButton和列表框创建自己的控件。选中ToggleButton时显示列表框。当用户将鼠标悬停在ListBoxItem上时,请更改文本框中的文本,并更新所选项目的某些属性或触发事件。 |
![]() |
3
0
这就是我在代码中解决同一个问题的方法,希望它对其他人有用,或者只是朝着完整的XAML解决方案迈出的一步。 我遵循四分之一的解决方案。但在我看来,需要子类化组合框是一个设计缺陷(因为这样做只是为了处理mouseover事件)。因为我只需要对mouseover事件的不同行为进行处理,所以在附加到xaml文件的类中,我只实现了处理mouseover事件的方法。 首先,我用了 EventSetter 类,它是setter类的子类,并且是特定于事件的。因此,eventsetter可以像我们通常使用setter那样用于修饰frameworkelements。
这样,当鼠标悬停时,每个ComboBoxitem都会调用UpdateModel。 我对_updateModel的实现非常直接,它强烈地基于Quartermeister的工作:
解决相同问题的其他方法可以使用 blend's behaviors 因为这里不值得解释的原因,我不能使用这种行为。 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |
![]() |
Barta · WPF MVVM不更新视图 9 月前 |
![]() |
Denis Ivanov · WPF控件在属性更改时不会更新 9 月前 |
![]() |
codymanix · WPF:TextBlock周围可见小边框? 9 月前 |
![]() |
Nostromo · 来自背景对象的工具提示 1 年前 |
![]() |
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 1 年前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |