我在根網格內有VisualStateManager,但它沒有觸發AdaptiveTrigger
。我正在嘗試更改StackPanel
中的textblock
。另外,VisualState
制定者優先於默認值的規則是什麼?例如,textblock
CreateNewAccount
正在使用x:Uid
獲取字符串資源,但當setter
試圖更改Text
值時,哪一個獲得優先級?與由FontSize
設置靜態資源樣式相同。 UWP AdaptiveTrigger不觸發
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../Style/ApparentTheme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Page.Resources>
<Grid x:Name="MainGrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Margin="20 0 20 0">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="Mobile_720">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="720" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="CreateNewAccount.FontSize" Value="12"/>
<Setter Target="CreateNewAccount.Text" Value="Test"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel x:Name="FormStackPanel" Grid.Row="0" Grid.Column="1" Orientation="Vertical">
<TextBlock x:Name="CreateNewAccount" x:Uid="CreateNewAccount" Style="{StaticResource TitleTextBlockStyle1366}"/>
<TextBox x:Uid="EmailField" x:Name="emailField"
Style="{StaticResource TextBoxStyle1366}" InputScope="EmailNameOrAddress"
Text="{Binding NewSignUp.Email, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<TextBox x:Uid="FirstNameField" x:Name="firstNameField"
Style="{StaticResource TextBoxStyle1366}" InputScope="AlphanumericFullWidth"
Text="{Binding NewSignUp.FirstName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<TextBox x:Uid="LastNameField" x:Name="lastNameField"
Style="{StaticResource TextBoxStyle1366}" InputScope="AlphanumericFullWidth"
Text="{Binding NewSignUp.LastName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<PasswordBox x:Uid="PasswordField" x:Name="passwordField"
Style="{StaticResource PasswordBoxStyle1366}"
Password="{Binding NewSignUp.Password, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<PasswordBox x:Uid="PasswordConfirmField" x:Name="passwordConfirmField"
Style="{StaticResource PasswordBoxStyle1366}"
Password="{Binding NewSignUp.PasswordConfirm, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<Button x:Uid="CreateAccountButton"
Style="{StaticResource ButtonStyle1366}"
Command="{Binding CreateAccountCommand}" Click="CreateAccountButton_Click"/>
<TextBlock x:Name="errorMessage"
FontSize="16pt" Foreground="Red" Margin="0 5 0 0"
Text="{Binding SignUpErrorMessage, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
<ProgressRing x:Name="signUpProgressRing"
HorizontalAlignment="Center" IsActive="False" Height="30" Width="30"/>
</StackPanel>
</Grid>
我試過你的樣品,和* AdaptiveTrigger *似乎觸發 - 首先我看到從資源的文本,然後窗口後調整我看到從觸發值。你看起來如何? – Romasz
@Romasz嘿。是的,它確實觸發。我意識到了這個問題。我正在測試一個移動模擬器,即使它是720p,但它不是那裏。我在桌面上進行了測試,並調整了它的工作寬度。我也意識到MinWindowWidth屬性表明最好先設計一個小的外形因子,然後使用AdaptiveTrigger設置器對較大的寬度和高度進行更改。我正在做相反的事情。 – ShrimpCrackers