Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 4:如何在TextBlock’;s文本在数据绑定过程中是否发生更改?_Silverlight_Data Binding_Silverlight 4.0 - Fatal编程技术网

Silverlight 4:如何在TextBlock’;s文本在数据绑定过程中是否发生更改?

Silverlight 4:如何在TextBlock’;s文本在数据绑定过程中是否发生更改?,silverlight,data-binding,silverlight-4.0,Silverlight,Data Binding,Silverlight 4.0,我有一个用户控件,将datacontext设置为视图模型。用户控件包含一些绑定到视图模型属性的文本块和文本框。我想在视图模型的属性值更改时制作一个小动画,但我似乎找不到在Silverlight中实现这一点的方法 在WPF中,我们可以使用NotifyOnTargetUpdated和Binding.TargetUpdated等属性来捕获更改,但Silverlight中似乎缺少这些属性。在我的例子中,动画不是基于属性的值,这意味着当某个属性的值为例如5时,我不想启动动画。相反,动画应该在每次更改属性值

我有一个用户控件,将datacontext设置为视图模型。用户控件包含一些绑定到视图模型属性的文本块和文本框。我想在视图模型的属性值更改时制作一个小动画,但我似乎找不到在Silverlight中实现这一点的方法

在WPF中,我们可以使用NotifyOnTargetUpdated和Binding.TargetUpdated等属性来捕获更改,但Silverlight中似乎缺少这些属性。在我的例子中,动画不是基于属性的值,这意味着当某个属性的值为例如5时,我不想启动动画。相反,动画应该在每次更改属性值时开始(以便为用户高亮显示更改的内容)

以下是关于如何在WPF中执行此操作的答案:


但是我怎样才能对Silverlight 4执行相同的操作呢?

您应该能够使用Expression Blend 4中包含的新触发器来完成这项操作。例如,有一大堆ne行为/触发器等,可以让您对ViewModel中的更改做出反应

从“表达式混合”功能页:

新行为 Expression Blend包括新的TranslateZoomRotateTebehavior多点触控行为和一个PanningItems控件,您可以使用该控件通过触控在项目之间滚动。Expression Blend还有一个新触发器,用于响应帧更改或SketchFlow动画的暂停或完成,称为SketchFlowAnimationTrigger。Expression Blend具有用于在列表框之间拖动项、修改菜单导航和保留屏幕状态的新行为集,例如SetDataStoreValueAction和DataStoreChangedTrigger

FluidMoveBehavior得到了一个令人兴奋的增强:如果将其应用于同一数据项的不同视图,当该项从一个视图移动到另一个视图(例如,从列表视图移动到详细视图)时,它将流畅地为两个视图之间的转换设置动画

与使用模型-视图-模型模式的应用程序一起使用的新行为包括:CallMethodAction、InvokeCommandAction和DataStateBehavior。您可以使用这些行为来调用ViewModels上的行为,或响应对其属性的更改

条件行为与数据存储 您现在可以在原型和生产应用程序中构建条件逻辑,而无需编写代码。事实上,任何操作都可以与一组必须满足的条件相关联,以执行该操作。新的数据存储功能允许读取和写入应用程序变量(例如,当前用户的角色),以便应用程序的不同部分可以通过此共享状态进行有效通信

作为此功能的一部分引入的新行为组件包括出现在每个操作的“属性”面板中的“条件编辑器”,即允许您操作数据存储中的值的SetDataStoreValueAction操作,以及一个DataStoreChangedTrigger触发器,该触发器在数据存储中的选定属性发生更改时触发

干杯,亚历克斯