gpt4 book ai didi

xaml - 样式选择器在 Avalonia 中是如何工作的?

转载 作者:行者123 更新时间:2023-12-03 13:58:11 35 4
gpt4 key购买 nike

选择器看起来与 CSS 非常相似。 Avalonia 中有哪些选择器?例如,此选择器的含义是什么:

<Style Selector="ListBoxItem:selected /template/ ContentPresenter">
<Setter Property="Background" Value="#ffffff" />
</Style>

最佳答案

是的,选择器与 CSS 非常相似。当前(0.5.0 alpha)the following selectors are available .我正在通过示例解释这些选择器,否则很难理解:

  • Button : 这会按类型选择控件,所以如果你写一个选择器 Button那么它将匹配 Avalonia.Controls.Button类(class)。它不会匹配派生类型 [1]
  • :is(Button) : 这与Class非常相似除了它也匹配派生类型
  • Button TextBlock : 当两个选择器用空格分隔时,选择器将匹配后代,所以在这种情况下选择器将匹配任何 TextBlock那是 Button 的逻辑后代
  • Button > TextBlock : 当两个选择器被 > 分隔时,则选择器将匹配子级,因此在这种情况下,选择器将匹配任何 TextBlock那是 Button 的直接逻辑 child
  • Button#MyButton这将匹配任何 ButtonNameMyButton
  • Button.MyClass这将匹配任何 Button用字符串 MyClass作为其 Classes 中的条目
  • Button:disabled这将匹配任何 Button :disabled pseudo-class
  • Button[IsDefault=true] :这将匹配任何 Button其中有一个 IsDefault true 的属性(property)
  • Button /template/ ContentPresenter这匹配 ContentPresenterButton 的控制模板中[2]

  • [1]:注意一个对象的类型实际上是通过查看它的 IStyleable.StyleKey 来确定的属性,因此如果您确实想要从 Button 继承的控件样式为 Button ,那么你就可以实现 IStyleable.StyleKey在你的类里面返回 typeof(Button) .

    [2]:这类似于(现已弃用) /deep/ CSS 中的运算符; CSS shadow DOM 是一个与控制模板非常相似的概念。

    关于xaml - 样式选择器在 Avalonia 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44241761/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com