Xaml UserControl,当用户单击viewmodel之外的任何位置或它不再可见时,将通知viewmodel

Xaml UserControl,当用户单击viewmodel之外的任何位置或它不再可见时,将通知viewmodel,xaml,mvvm,winrt-xaml,Xaml,Mvvm,Winrt Xaml,我有一个元素连接到使用MediaCapture录制音频的viewmodel。如果用户正在录制音频(按下录制按钮),然后离开它(单击UI中的其他位置,切换窗口等),我想在我的viewmodel中停止录制 我希望能够在一个元素上绑定一个依赖项属性,当用户单击该元素之外的任何位置或该元素不再可见时,该属性将通知我的viewmodel) 自定义usercontrol中是否有和事件,我可以连接到将报告我正在查找的内容的DP?特别是对于页面更改,您可以覆盖页面的OnNavigatedFrom方法,通过 va

我有一个元素连接到使用MediaCapture录制音频的viewmodel。如果用户正在录制音频(按下录制按钮),然后离开它(单击UI中的其他位置,切换窗口等),我想在我的viewmodel中停止录制

我希望能够在一个元素上绑定一个依赖项属性,当用户单击该元素之外的任何位置或该元素不再可见时,该属性将通知我的viewmodel)


自定义usercontrol中是否有和事件,我可以连接到将报告我正在查找的内容的DP?

特别是对于页面更改,您可以覆盖页面的OnNavigatedFrom方法,通过 var viewModel=LayoutRoot.DataContext作为MyViewModelType

然后在viewModel ciewModel.StopRecording()上调用停止录制方法

用于点击其他控件或由于滚动而移出屏幕的录制控件。。 我将实现和事件聚合器,该聚合器由页面和ui元素知道,因此它们响应的任何事件(点击/滚动)都将发布一个“StopRecordingEvent”,您的视图模型可以订阅并侦听事件聚合器。

将IsFocused属性绑定到ViewModel中的bool,并对该值进行更改?@LeeO。我认为WinRT Elements不存在IsFocused谢谢你的回答,我正试图找到一个解决方案,允许控件自己管理它,录制功能决不是应用程序的主要用途,我试图避免在添加新功能时,添加新功能的人必须考虑用于录制的事件聚合器