相关疑难解决方法(0)

当底层Viewmodel指示它应该在View触发器上有一个WPF EventTrigger时该怎么办?

这是场景:

我有以下用户控件,想法是它的视图模型应该能够向视图发出信号,它需要"激活发光",从而播放故事板.

<UserControl x:Class="View.UnitView"  ... >
   ...
    <Storyboard x:Key="ActivateGlow">
       ...
    </Storyboard>
    ...
    <!-- INVALID BINDING! Not Dependancy Object-->
    <EventTrigger RoutedEvent="{Binding OnActivateGlow}"> 
       <BeginStoryboard Storyboard="{StaticResource ActivateGlow}"/>
    </EventTrigger>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

在UnitView的代码隐藏中,我有:

public event EventHandler ActivateGlow;
Run Code Online (Sandbox Code Playgroud)

并且在MVVM中非常正常,我为UnitViewModel提供了以下DataTemplate:

<DataTemplate DataType="{x:Type vm:UnitViewModel}">
    <vw:UnitView d:DesignWidth="150" d:DesignHeight="100" />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

最后一个问题是,我如何设置一些东西,以便viewmodel可以触发OnActivateGlow事件?

wpf events eventtrigger mvvm

25
推荐指数
2
解决办法
2万
查看次数

通过viewmodel将scrollviewer滚动到顶部

我正在使用带有MVVM模式的ScrollViewer,并且ScrollViewer包含了一个项目列表,例如

<ScrollViewer>
  <ListView>
    <ListView.View>
        <GridView>
            <GridViewColumn
                Header = "Name"
                DisplayMemberBinding="{Binding Path=Name}"
            />              
        </GridView>
    </ListView.View>
  </ListView>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

列表视图的项目绑定到viewmodel中的对象集合.我希望每当从集合中添加或删除项目时,scrollviewer都会滚动到顶部.
我需要viewmodel来触发事件,而不是ScrollToTop()在视图的代码隐藏中使用该方法.

wpf scroll mvvm

9
推荐指数
2
解决办法
4188
查看次数

标签 统计

mvvm ×2

wpf ×2

events ×1

eventtrigger ×1

scroll ×1