samples plataforma development apps app xaml uwp win-universal-app uwp-xaml

plataforma - El elemento desencadenante(XAML) no es compatible con un proyecto UWP



uwp samples (2)

Alternativamente, puede usar los espacios de nombres

xmlns:Interactivity="using:Microsoft.Xaml.Interactivity" xmlns:Core="using:Microsoft.Xaml.Interactions.Core"

con

<ToggleButton Content="Execute" IsChecked="{Binding ButtonIndicator}" FontSize="8"> <Interactivity:Interaction.Behaviors> <Core:EventTriggerBehavior EventName="Checked"> <Core:InvokeCommandAction Command="{Binding ExecuteCommand}" /> </Core:EventTriggerBehavior> </Interactivity:Interaction.Behaviors> </ToggleButton>

Estoy desarrollando una aplicación universal de Windows para Windows 10 y una de las primeras cosas que encontré es que el elemento Trigger (XAML) no es compatible al diseñar imágenes. Aquí está el código que estoy tratando de implementar:

Lo siento, tuve que usar una imagen aquí, la obtengo de mi VM.

¿Cómo se implementa este tipo de disparador ahora en una aplicación universal de Windows?


No, no tienes soporte Trigger en UWP.

Una solución alternativa es usar DataTriggerBehavior con ChangePropertyAction para lograr exactamente lo mismo.

xmlns:Interactivity="using:Microsoft.Xaml.Interactivity" xmlns:Core="using:Microsoft.Xaml.Interactions.Core" <Button x:Name="MyButton" Width="140" Height="80" IsEnabled="False"> <Image x:Name="MyImage" Source="Assets/xxx.jpg"> <Interactivity:Interaction.Behaviors> <Core:DataTriggerBehavior Binding="{Binding IsEnabled, ElementName=MyButton}" Value="False"> <Core:ChangePropertyAction TargetObject="{Binding ElementName=MyImage}" PropertyName="Opacity" Value="0.5" /> </Core:DataTriggerBehavior> </Interactivity:Interaction.Behaviors> </Image> </Button>

Tenga en cuenta que deberá incluir BehaviorsXamlSDKManaged desde C:/Program Files (x86)/Microsoft SDKs/Windows/v8.1/ExtensionSDKs/BehaviorsXamlSDKManaged/12.0/ . Recibirá una advertencia cuando agregue la referencia pero simplemente ignórela.

Actualización: Ahora debería obtener un SDK de comportamiento actualizado de nuget .

opcion 2

Siempre puede hacer lo mismo en VisualStateManager . Abra Blend y haga clic derecho en su Button y seleccione Editar plantilla , edite una copia y luego especifique el nombre del recurso que desea y presione OK .

Luego busque el VisualState deshabilitado y reemplácelo con

<VisualState x:Name="Disabled"> <VisualState.Setters> <Setter Target="RootGrid.(UIElement.Opacity)" Value="0.5" /> </VisualState.Setters> </VisualState>