【问题标题】:AdaptiveTriggers not working in UNO platform web assembly?自适应触发器在 UNO 平台 webassembly 中不起作用?
【发布时间】:2020-02-17 14:46:31
【问题描述】:

我一直在尝试根据屏幕大小对代码中的 UI 进行一些更改。当我开始在 UWP 中编写代码时,一切正常,但是当更改为 Web 程序集时,在更改窗口大小时没有发生任何更改,它只采用 MinWindowWidth="0" 的第一个视觉状态。

这是我运行的一些测试代码。 testing code

我错过了什么吗?

【问题讨论】:

    标签: uwp-xaml uno-platform


    【解决方案1】:

    试着这样写

    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="SizeGroup">
            <VisualState x:Name="Large">
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="1000"/>
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="MainContent.Background"
                            Value="Blue"/>
                </VisualState.Setters>
            </VisualState>
            <VisualState x:Name="Small">
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="0"/>
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="MainContent.Background"
                            Value="Red"/>
                </VisualState.Setters>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
    

    XAML 中声明的顺序很重要,因此您应该先声明最大的MinWindowWidth,然后再声明较小的。在您的情况下,首先评估值为 0 的小值,并且始终为真。

    您可以跟踪错误here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 2020-08-13
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      相关资源
      最近更新 更多