Div*_*kar 6 xaml win-universal-app
我试图在style.setter中使用转换器给出条件样式,如下所示,
<Style TargetType="DataGrid">
<Setter Property="Background" Value="{Binding Converter={StaticResource cc}}" />
</Style>
Run Code Online (Sandbox Code Playgroud)
并且知道在UWP中使用转换器没有提供支持.所以请任何人建议我使用style.setter中的转换器在UWP中提供条件样式的更好方法
不,我们Trigger在UWP中没有支持。
为了保持尽可能多的亮度,msft删除了UWP和Windows Phone 8的触发器。我们可以使用交互核心来实现这些目标。Blend(IDE)为在这些技术中创建触发器提供了强大的支持。
Blend允许在此处定义应用程序的行为。
我们可以定义
DataTrigger 使用DataTrigger触发器基于数据绑定属性的值调用操作EventTrigger 使用EventTrigger触发器可基于事件(例如鼠标单击,页面加载或其他交互)来调用操作。KeyTrigger 当在键盘上按下组合键时,可以使用KeyTrigger触发器来调用一个动作。注意:-这是Windows Phone可用的触发器,请确保UWP在blend SDK中具有此触发器
一种解决方法是与DataTriggerBehavior配合使用ChangePropertyAction来完成此任务。
xmlns:ec="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions" x:Class="XXX_XXXX"
Run Code Online (Sandbox Code Playgroud)
这对我有用
<DataGrid x:Name="MyGrid"
Stretch="None"
HorizontalAlignment="Stretch"
VerticalAlignment="Top">
<interactivity:Interaction.Triggers>
<ec:DataTrigger Binding="{Binding IsBackgroundBlue}" Value="True">
<ec:ChangePropertyAction TargetObject="{Binding ElementName=MyGrid}" PropertyName="Background" Value="Blue" />
</ec:DataTrigger>
<!-- You could add your conditions here /> -->
</interactivity:Interaction.Triggers>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
请注意这可能不是正确的语法,我现在没有IDE
使用可视状态管理器的触发器的MSDN参考
| 归档时间: |
|
| 查看次数: |
1358 次 |
| 最近记录: |