Ray*_*Ray 18 xaml win-universal-app uwp uwp-xaml
我正在为Windows 10开发通用Windows应用程序,我发现的第一件事是在设置图像样式时不支持Trigger元素(XAML).这是我试图实现的代码:
对不起,我不得不在这里使用图片,我从我的VM获取它.
现在在通用Windows应用程序中如何实现这种类型的触发器?
Jus*_* XL 22
不,你Trigger
在UWP中没有支持.
解决方法是使用DataTriggerBehavior
a ChangePropertyAction
来完成完全相同的事情.
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>
Run Code Online (Sandbox Code Playgroud)
请注意,您需要包含BehaviorsXamlSDKManaged
来自C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1\ExtensionSDKs\BehaviorsXamlSDKManaged\12.0\
.添加引用时会收到警告但只是忽略它.
更新: 您现在应该从nuget获取更新的Behavior SDK.
选项2
你可以随时做同样的事情VisualStateManager
.打开Blend并右键单击您的Button
并选择Edit Template,Edit a Copy,然后指定所需的资源名称并单击OK.
然后查找已禁用 VisualState
并替换为
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Target="RootGrid.(UIElement.Opacity)" Value="0.5" />
</VisualState.Setters>
</VisualState>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14344 次 |
最近记录: |