【问题标题】:Use DataTemplate.Triggers in WP8在 WP8 中使用 DataTemplate.Triggers
【发布时间】:2013-09-19 03:57:45
【问题描述】:

我在 WP 应用程序中使用 ItemsControl 来显示对象列表(将可观察集合绑定到此列表)。 在 WPF 中,如果更新了任何对象属性,我们可以更新 UI,但是对于 WP8,我该怎么做呢?以下是 WPF 中使用的语法,但在 WP8 中它显示 Triggers not found

       <ItemsControl> 
            <ItemsControl.ItemTemplate> 
                <DataTemplate> 
                        <DataTemplate.Triggers> 

                </DataTemplate.Triggers> 
                </DataTemplate> 
            </ItemsControl.ItemTemplate> 
        </ItemsControl>

如何在 WP8 中更新 UI?我打算做的是基于对象的属性设置项目中按钮的可见性。

【问题讨论】:

    标签: windows-phone-8 datatrigger


    【解决方案1】:

    而不是使用触发器。如何使用转换器(实现 IValueConverter)根据属性设置可见性。所以你的 xaml 看起来像:

    <button visibility="{binding YourObjectProperty, Converter={staticresource YourVisibilityConvert}}  ... />
    

    然后,每当为属性触发 propertychanged 事件时,UI 将根据转换器返回的值更新可见性。

    【讨论】:

    【解决方案2】:

    您可以尝试使用 Expression blend 设置行为

    xmlns:ec="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions" x:Class="XXX_XXXX"
    
    <Image Source="/Assets/Images/Tick.png"
                       Stretch="None"
                       HorizontalAlignment="Stretch" 
                       VerticalAlignment="Top">
                    <interactivity:Interaction.Triggers>
                        <ec:DataTrigger Binding="{Binding Change}" Value="False">
                            <ec:ChangePropertyAction PropertyName="Source">
                                <ec:ChangePropertyAction.Value>
    
                                    <BitmapImage UriSource="/Assets/Images/Close.png"/>
                                </ec:ChangePropertyAction.Value>
                            </ec:ChangePropertyAction>
                        </ec:DataTrigger>
                    </interactivity:Interaction.Triggers>
                </Image>
    

    Msdn

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-13
      • 2014-06-14
      • 2014-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多