gpt4 book ai didi

WPF触发器属性

转载 作者:行者123 更新时间:2023-12-04 04:57:27 25 4
gpt4 key购买 nike

我是WPF的新手,目前正在使用 triggers 。我有一个关于简单触发器的问题。所谓简单触发,是指监视 dependency property 的更改并使用 setter 更改样式的触发器。

例子:

<Style.Triggers>
<Trigger Property="Control.IsFocused" Value ="True">
<Setter Property=" Control.Foreground" Value =" DarkRed" />
</Trigger>
</Style.Triggers>

我看到的所有示例都使用以下 trigger properties :
  • <Trigger Property="Control.IsFocused" Value ="True">
  • <Trigger Property="Control.IsMouseOver" Value ="True">
  • <Trigger Property="Button.IsPressed" Value ="True">

  • 问题:
    这些是唯一可用的触发器属性吗?如果没有,还有哪些呢?

    我在网上搜索,但无济于事。也许有人可以对此有所了解。

    最佳答案

    这些不是您可以在Triggers中使用的唯一属性,但是,它们是常见的示例,因为它们易于理解和演示。

    实际上,您可以让Trigger监视任何DependencyProperty,但是由于值更改(并且与您告诉它监视的Value匹配)时,它会被“触发”,因此通常只有在运行时使用会更改的属性才有意义来自用户操作(例如焦点,鼠标悬停,按下等)。在这种情况下,只有某些DependencyProperties实际更改值,因此并非所有这些值都可以在Triggers中使用。

    Microsoft已在标准控件中添加了几个DependencyProperties,以便您可以轻松地基于更改创建触发器。但是,您也可以使用自己的DependencyProperties创建自己的控件,并使触发器在您的自定义DependencyProperties更改时做出响应。

    请记住,PropertyTriggers只是WPF中Trigger的一种。还有EventTriggersDataTriggersMultiTriggers。这些其他触发器基于事件或数据更改,或者在MultiTriggers的情况下,多个属性(或数据)值触发。

    您要尝试使用Triggers进行某些特定处理吗? This other answer很好地解释了每种触发器的功能。

    关于WPF触发器属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15160874/

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