remote nomad c# windows-runtime windows-10 win-universal-app uwp

c# - remote - digital nomad jobs



AdaptiveTrigger y DataTemplate (1)

¿AdaptiveTrigger funcionará en un DataTemplate?

Ese es mi código que estoy usando para personalizar mi ShellNavigation, funciona bien excepto los estados visuales. No activarán nada.

<shell:ShellHeadView x:Key="ShellHeadView_01"> <shell:ShellHeadView.ContentTemplate> <DataTemplate> <Grid Margin="20,0"> <VisualStateManager.VisualStateGroups> <VisualStateGroup> <VisualState x:Name="GreenBackgroundVisualState"> <VisualState.Setters> <Setter Target="headViewLeft.Background" Value="Green" /> </VisualState.Setters> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="1000"/> </VisualState.StateTriggers> </VisualState> <VisualState x:Name="OrangeBackgroundVisualState"> <VisualState.Setters> <Setter Target="headViewLeft.Background" Value="Orange" /> </VisualState.Setters> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="2000"/> </VisualState.StateTriggers> </VisualState> <VisualState x:Name="RedBackgroundVisualState"> <VisualState.Setters> <Setter Target="headViewLeft.Background" Value="Red" /> </VisualState.Setters> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="3000"/> </VisualState.StateTriggers> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Grid Grid.Column="0" x:Name="headViewLeft" Width="100" Height="90"> </Grid>


Intente envolver su DataTemplate dentro de un UserControl como este:

<DataTemplate> <UserControl> <Grid> <VisualStateManager.VisualStateGroups> ... </Grid> </UserControl> </DataTemplate>

Parece que cualquier Control que tenga una propiedad de Content funcionará. Es por eso que UserControl funciona, también lo hace un ContentControl .

Entonces, si reemplaza el UserControl con un ContentControl y le da un Style vacío. Debería funcionar también.

<Style x:Key="EmptyContentControlStyle" TargetType="ContentControl"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ContentControl" /> </Setter.Value> </Setter> </Style> <DataTemplate> <ContentControl Style="{StaticResource EmptyContentControlStyle}"> <Grid> <VisualStateManager.VisualStateGroups> ... </Grid> </ContentControl> </DataTemplate>