代码之家  ›  专栏  ›  技术社区  ›  adrianm

XAML触发器作为静态资源

  •  10
  • adrianm  · 技术社区  · 16 年前

    <Window.Resources>
        <Trigger x:Key="ValidationTrigger" x:Shared="False" Property="Validation.HasError" Value="true">
            <Setter Property="FrameworkElement.ToolTip"
                    Value="{Binding RelativeSource={x:Static RelativeSource.Self},
                    Path=(Validation.Errors)/ErrorContent}"/>
        </Trigger>
    
        <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
            <Style.Triggers>
                <StaticResource ResourceKey="ValidationTrigger"/>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    

    我在运行时收到一条错误消息
    “值不能为空。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Bruno    15 年前

    因此,在这种情况下,WPF将尝试在触发器可能与之关联的任何控件之前加载触发器。此时无法计算触发器值。

    但这需要确认:)