1

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

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

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

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

4

2 回答 2

0

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

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

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

于 2013-09-19T10:12:54.207 回答
0

您可以尝试使用 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>

登录

于 2015-03-18T18:12:37.197 回答