在触发器中检查窗口的"WindowState"的值

nor*_*ndo 5 c# wpf triggers windowstate

在WPF中,有没有办法检查触发器中窗口的"WindowState"属性?我尝试使用"0","最小化"和"WindowState.Minimized"的值.

例:

<Window.Triggers>
    <Trigger Property="WindowState" Value="Minimized">
        <Setter Property="ShowInTaskBar" Value="False" />
    </Trigger>
</Window.Triggers>
Run Code Online (Sandbox Code Playgroud)

Sim*_*ord 7

或者,如果您希望窗口以外的控件响应WindowState属性,则可以改用DataTrigger:

<DataTrigger Binding="{Binding WindowState, RelativeSource={RelativeSource AncestorType=Window}}" 
             Value="Normal">
   <Setter Property="Fill" Value="Green"/>
</DataTrigger>
Run Code Online (Sandbox Code Playgroud)


H.B*_*.B. 6

像这样工作:

<Window.Style>
    <Style TargetType="Window">
        <Style.Triggers>
            <Trigger Property="WindowState" Value="Minimized">
                <Setter Property="ShowInTaskbar" Value="False" />
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Style>
Run Code Online (Sandbox Code Playgroud)

编辑:您需要将触发器放入Window.Style.