我在Windows Phone 8.1上编写应用程序。我正在使用没有模式的MVVM。 我不能如何将MediaCapture对象绑定到视图中的CaptureElement。 我知道这个topi重复,但我尝试这个解决方案
我的代码XAML:
<ContentControl HorizontalAlignment="Left"
Width="320" Height="140" Content="{Binding CaptureElement}"Margin="40,183,0,257"/>
在我的viewModel中:
private CaptureElement _captureElement;
public CaptureElement CaptureElement
{
get
{
return _captureElement;
}
set
{
_captureElement = value; OnChange("CaptureElement"); }
}
}
答案 0 :(得分:0)
由于您的代码不完整。我不确定你真正遇到了哪个问题。或者你只是不知道如何写。我有一个完整的解决方案,可以满足您的要求。我已经测试过了。
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();
}
}
同时上传此演示javadoc,您可以下载进行测试。