C# 如何从ViewModel适当地在视图中运行触发器?
在ViewModel中引发事件后,我想在我的视图中采取行动。我找到了一个解决办法,但似乎很复杂。没有任何内置的机制吗?我也读过关于在ViewModel中引发RouteEvent的文章,但这种方法要求ViewModel知道接收器的类型——这是否符合MVVM模式 编辑: 更具体地说,我需要从ViewModel运行下面提到的动画:C# 如何从ViewModel适当地在视图中运行触发器?,c#,wpf,mvvm,eventtrigger,routedevent,C#,Wpf,Mvvm,Eventtrigger,Routedevent,在ViewModel中引发事件后,我想在我的视图中采取行动。我找到了一个解决办法,但似乎很复杂。没有任何内置的机制吗?我也读过关于在ViewModel中引发RouteEvent的文章,但这种方法要求ViewModel知道接收器的类型——这是否符合MVVM模式 编辑: 更具体地说,我需要从ViewModel运行下面提到的动画: <Page.Resources> <Storyboard x:Key="MyStoryboard"> <DoubleA
<Page.Resources>
<Storyboard x:Key="MyStoryboard">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="MyTextBlock">
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Page.Resources>
起初我在page.triggers中定义了eventTrigger,但它需要RouteEvent。您有什么建议吗?MVVM允许在ViewModel中引发事件并在视图中捕获它们 请看这里: 在ViewModel中引发并被View捕获的事件的最佳示例是唯一一个INotifyPropertyChanged事件 让我们进一步探讨这个机制 视图询问数据是否实现了INotifyPropertyChanged接口。如果是,则视图订阅PropertyChanged事件 现在你需要做同样的事情。让视图询问您希望询问的特定事件,当发现时,只需订阅即可。就这样:)
顺便说一句,如果您希望获得我们的代码帮助,请先提供代码。我刚刚在我的问题中添加了一些代码,以使问题更清楚。