Вам необходимо реализовать свои визуальные состояния xaml. Эти визуальные состояния имеют адаптивные триггеры (например, разрешение экрана) и сеттеры (например, установка высоты вашей кнопки до 50, если срабатывает адаптивный триггер). Так же, как это:
<Page
x:Class="VisualStates.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:VisualStates"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0"></AdaptiveTrigger>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="AdaptiveButton.Width" Value="80"></Setter>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Button x:Name="AdaptiveButton" VerticalAlignment="Center" HorizontalAlignment="Center" Width="0">Test</Button>
</Grid>
Без визуального состояния Адаптивная кнопка будет иметь ширину 0, но из-за визуального государства его получения установлен до 80. Конечно, это не практично пример, и вы должны использовать смесь для визуальной студии, потому что она даже дает вам ui для простого осуществления этих визуальных состояний. Но прежде чем вы тренируетесь, вы должны google "visualstatemanager class" и искать больше примеров. EDIT: Вы можете также, например, проверить ширину окна и высоту в pageloaded метода, а затем, например, изменить свойство, как:
double displaywidth = App.Current.Host.Content.ActualWidth;
if(displaywidth >= 300) {}//set local variable display width and than do sth
Спасибо вам так много :) –