我使用以下代码导航按钮单击:
XAML:
<Button x:Name ="Btn_Import" Grid.Row="33" Grid.Column="15" Grid.ColumnSpan="36" Grid.RowSpan="36" Command="{Binding NavigateCommand}" CommandParameter="ViewImportProgress"/>
Run Code Online (Sandbox Code Playgroud)
视图模型:
public DelegateCommand<string> NavigateCommand { get; set; }
public MainButtonsViewModel(IRegionManager regionManager, IMainMenuTooltipViewer mainMenuTooltipViewer)
{
NavigateCommand = new DelegateCommand<string>(Navigate);
}
private void Navigate(string uri)
{
regionManager.RequestNavigate("ScreenNavigationRegion", uri);
}
Run Code Online (Sandbox Code Playgroud)
它工作正常.现在我的问题是什么是相同的代码,使导航工作在MouseOver事件而不是MouseClick事件,当然在MVVM模式和使用棱镜?
小智 7
您可以使用相互作用
声明命名空间
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
Run Code Online (Sandbox Code Playgroud)
你可以将命令绑定到事件
<Button Content="Navigate" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter">
<i:InvokeCommandAction Command="{Binding NavigateCommand}" CommandParameter="ViewImportProgress"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5937 次 |
| 最近记录: |