在手动最小化/恢复后,在样式中设置“WindowsState”=“最大化”不起作用

时间:2017-06-05 14:16:37

标签: wpf window windows-10

我的WindowDataTrigger,如下所示:

 <Window.Style>
        <Style TargetType="{x:Type Window}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsFullscreen}" Value="true">
                    <Setter Property="WindowState" Value="Maximized" />
                    <!-- Other setters -->
                </DataTrigger>

                <DataTrigger Binding="{Binding IsFullscreen}" Value="false">
                    <Setter Property="WindowState" Value="Normal" />
                    <!-- Other setters -->
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Style>

这样可以正常工作,直到用户最小化并恢复窗口(例如,通过单击_按钮,然后单击任务栏图标)。当IsFullscreen发生变化时,其他制定者的影响继续证明,所以我知道触发器继续发射;问题是WindowState设置不再受到注意。删除其他setter并不能解决这个问题,所以不要责怪他们。这是怎么回事?我该怎么做才能解决它?

Windows 10 PC上出现问题;没有关于不同操作系统会发生什么的信息。

1 个答案:

答案 0 :(得分:2)

由于可能在不同位置设置依赖项属性,因此需要优先级列表。您可以找到此列表here

单击相应按钮最小化窗口后,您将设置WindowState依赖属性的本地值。根据我们之前看到的优先级列表,您的DataTrigger无法再使用了。