英文:
How to change a control style using a pseudo class like focus or pointerover in avalonia ui?
问题
我一直在寻找一种在指针悬停在控件上或控件处于焦点时更改控件样式的方法,类似于以下代码:
<Style Selector="TextBox:focus">
<Setter Property="Background" Value="Red"/>
</Style>
但出于某种原因,没有发生任何变化,文本框的背景颜色仍然保持不变。
英文:
I've been searching for a way to change a control style when a pointer is over it or when it's in focus something like this
<Style Selector="TextBox:focus">
<Setter Property="Background" Value="Red"/>
</Style>
but for some reason nothing is happenning or changing
instead the TextBox background stayed in the same color
答案1
得分: 0
根据文档 伪类选择器不覆盖默认样式 进行参考。
修正后的代码应该通过使用 模板选择器 来定位边框。
<Style Selector="TextBox:focus /template/ Border">
<Setter Property="Background" Value="Red"/>
</Style>
英文:
By referring to the Documentation Selector with a pseudoclass doesn't override the default
The corrected code should target Border by using template selector
<Style Selector="TextBox:focus /template/ Border">
<Setter Property="Background" Value="Red"/>
</Style>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论