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>