我正在开发一个简单的Windows应用商店,其应用程序为canvas
,您可以在设备上预览相机中的图像。还有一个按钮可以启用和禁用预览。我以前能够预览MediaCapture
输出(相机输出),但现在我正在尝试为该预览实现切换工作,我遇到了一些问题。
基本上,我现在拥有画布的Visibility
属性,该属性在Collapsed
的构造函数中将预览集保存为Page
。
public MediaCap()
{
this.InitializeComponent();
capturePreviewCanvas.Visibility = Visibility.Collapsed;
}
然后,当用户点击预览按钮时,我有按钮点击处理程序:
if (capturePreviewCanvas.Visibility == Visibility.Visible)
{
capturePreviewCanvas.Visibility = Visibility.Collapsed;
await mediaCaptureManager.StopPreviewAsync();
}
else
{
capturePreviewCanvas.Visibility = Visibility.Visible;
capturePreviewCaptureElement.Source = mediaCaptureManager;
await mediaCaptureManager.StartPreviewAsync();
}
问题在于,即使我调试代码并看到它将Visibility
的{{1}}属性设置为capturePreviewCanvas
,画布也不会像我在默认之前那样出现在屏幕上它在构造函数中为Visible
。
为了让画布再次可见,我需要做一些UI刷新吗?