You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
7.7 KiB
164 lines
7.7 KiB
<?xml version="1.0" encoding="utf-8" ?>
|
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
xmlns:mytriggers="clr-namespace:ex_ResponsivePage"
|
|
xmlns:views="clr-namespace:ex_ResponsivePage.Views">
|
|
|
|
<Style x:Key="MyBackgroundTrigger"
|
|
TargetType="Page">
|
|
<Setter Property="VisualStateManager.VisualStateGroups">
|
|
<VisualStateGroupList>
|
|
<VisualStateGroup>
|
|
<VisualState x:Name="Portrait">
|
|
<VisualState.StateTriggers>
|
|
<OrientationStateTrigger Orientation="Portrait" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="BackgroundColor"
|
|
Value="DarkSalmon" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="Landscape">
|
|
<VisualState.StateTriggers>
|
|
<OrientationStateTrigger Orientation="Landscape" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="BackgroundColor"
|
|
Value="DarkOrchid" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateGroupList>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<ControlTemplate x:Key="portraitLayout">
|
|
<views:PortraitView/>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="landscapeLayout">
|
|
<views:LandscapeView/>
|
|
</ControlTemplate>
|
|
|
|
<Style x:Key="ByIdiomTrigger"
|
|
TargetType="ContentView">
|
|
<Setter Property="VisualStateManager.VisualStateGroups">
|
|
<VisualStateGroupList>
|
|
<VisualStateGroup>
|
|
<VisualState x:Name="Portrait">
|
|
<VisualState.StateTriggers>
|
|
<mytriggers:IdiomStateTrigger Idiom="Phone" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="ControlTemplate"
|
|
Value="{StaticResource portraitLayout}" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="Landscape">
|
|
<VisualState.StateTriggers>
|
|
<mytriggers:IdiomStateTrigger Idiom="Tablet" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="ControlTemplate"
|
|
Value="{StaticResource landscapeLayout}" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateGroupList>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="MyOrientationTrigger"
|
|
TargetType="ContentView">
|
|
<Setter Property="VisualStateManager.VisualStateGroups">
|
|
<VisualStateGroupList>
|
|
<VisualStateGroup>
|
|
<VisualState x:Name="Portrait">
|
|
<VisualState.StateTriggers>
|
|
<OrientationStateTrigger Orientation="Portrait" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="ControlTemplate"
|
|
Value="{StaticResource portraitLayout}" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="Landscape">
|
|
<VisualState.StateTriggers>
|
|
<OrientationStateTrigger Orientation="Landscape" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="ControlTemplate"
|
|
Value="{StaticResource landscapeLayout}" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateGroupList>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="FlyoutTrigger"
|
|
TargetType="Page">
|
|
<Setter Property="VisualStateManager.VisualStateGroups">
|
|
<VisualStateGroupList>
|
|
<VisualStateGroup>
|
|
<VisualState x:Name="Portrait">
|
|
<VisualState.StateTriggers>
|
|
<OrientationStateTrigger Orientation="Portrait" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="Shell.FlyoutBehavior"
|
|
Value="Flyout"/>
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="Landscape">
|
|
<VisualState.StateTriggers>
|
|
<OrientationStateTrigger Orientation="Landscape" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="Shell.FlyoutBehavior"
|
|
Value="Locked"/>
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateGroupList>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="ByOrientationAndIdiomTrigger"
|
|
TargetType="ContentView">
|
|
<Setter Property="VisualStateManager.VisualStateGroups">
|
|
<VisualStateGroupList>
|
|
<VisualStateGroup>
|
|
<VisualState x:Name="PhonePortrait">
|
|
<VisualState.StateTriggers>
|
|
<mytriggers:IdiomAndOrientationStateTrigger Idiom="Phone" Orientation="Portrait" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="ControlTemplate"
|
|
Value="{StaticResource portraitLayout}" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="PhoneLandscape">
|
|
<VisualState.StateTriggers>
|
|
<mytriggers:IdiomAndOrientationStateTrigger Idiom="Phone" Orientation="Landscape" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="ControlTemplate"
|
|
Value="{StaticResource landscapeLayout}" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="TabletLandscape">
|
|
<VisualState.StateTriggers>
|
|
<mytriggers:IdiomAndOrientationStateTrigger Idiom="Tablet" Orientation="Unknown" />
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Property="ControlTemplate"
|
|
Value="{StaticResource landscapeLayout}" />
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateGroupList>
|
|
</Setter>
|
|
</Style>
|
|
|
|
</ResourceDictionary> |