如何在没有模式的情况下将源 MediaCapture 绑定到 CaptureElement?
How can I bind source MediaCapture to CaptureElement without pattern?
我在 Windows Phone 8.1 上写申请。我正在使用没有模式的 MVVM。
我无法将 MediaCapture 对象绑定到视图中的 CaptureElement。
我知道这个话题重复了,但我尝试了这个解决方案
我的代码XAML:
<ContentControl HorizontalAlignment="Left"
Width="320" Height="140" Content="{Binding CaptureElement}"Margin="40,183,0,257"/>
在我的视图模型中:
private CaptureElement _captureElement;
public CaptureElement CaptureElement
{
get
{
return _captureElement;
}
set
{
_captureElement = value; OnChange("CaptureElement"); }
}
}
由于您的代码不完整。我不确定你真正遇到了哪个问题。或者你只是不知道怎么写。我这里有一个完整的解决方案可以满足你requirements.I已经测试过了。
XAML代码
<ContentControl HorizontalAlignment="Left" Width="320" Height="140" Content="{Binding CaptureElement}" Margin="40,183,0,257"/>
MainPage() 中的代码
MyViewModel view = new MyViewModel(); this.DataContext = view;
处于查看模式
class MyViewModel: NotificationBase
{
private MediaCapture _mediaCapture;
public MediaCapture MediaCapture
{
get
{
if (_mediaCapture == null) _mediaCapture = new MediaCapture();
return _mediaCapture;
}
set
{
_mediaCapture = value;
}
}
private CaptureElement _captureElement;
public CaptureElement CaptureElement
{
get
{
if (_captureElement == null) _captureElement = new CaptureElement();
return _captureElement;
}
set
{
_captureElement = value;
}
}
public MyViewModel()
{
ConfigureMedia();
}
private async void ConfigureMedia()
{
await MediaCapture.InitializeAsync();
CaptureElement.Source = MediaCapture;
await MediaCapture.StartPreviewAsync();
}
}
同时上传这个demohere,大家可以下载测试
我在 Windows Phone 8.1 上写申请。我正在使用没有模式的 MVVM。 我无法将 MediaCapture 对象绑定到视图中的 CaptureElement。 我知道这个话题重复了,但我尝试了这个解决方案
我的代码XAML:
<ContentControl HorizontalAlignment="Left"
Width="320" Height="140" Content="{Binding CaptureElement}"Margin="40,183,0,257"/>
在我的视图模型中:
private CaptureElement _captureElement;
public CaptureElement CaptureElement
{
get
{
return _captureElement;
}
set
{
_captureElement = value; OnChange("CaptureElement"); }
}
}
由于您的代码不完整。我不确定你真正遇到了哪个问题。或者你只是不知道怎么写。我这里有一个完整的解决方案可以满足你requirements.I已经测试过了。
XAML代码
<ContentControl HorizontalAlignment="Left" Width="320" Height="140" Content="{Binding CaptureElement}" Margin="40,183,0,257"/>
MainPage() 中的代码
MyViewModel view = new MyViewModel(); this.DataContext = view;
处于查看模式
class MyViewModel: NotificationBase
{
private MediaCapture _mediaCapture;
public MediaCapture MediaCapture
{
get
{
if (_mediaCapture == null) _mediaCapture = new MediaCapture();
return _mediaCapture;
}
set
{
_mediaCapture = value;
}
}
private CaptureElement _captureElement;
public CaptureElement CaptureElement
{
get
{
if (_captureElement == null) _captureElement = new CaptureElement();
return _captureElement;
}
set
{
_captureElement = value;
}
}
public MyViewModel()
{
ConfigureMedia();
}
private async void ConfigureMedia()
{
await MediaCapture.InitializeAsync();
CaptureElement.Source = MediaCapture;
await MediaCapture.StartPreviewAsync();
}
}
同时上传这个demohere,大家可以下载测试