C# 将数据从活动传递到ViewModel
我是使用MvvmCross的新手,我有一个问题。我想实现在活动中拍照,这是本机方式,但我不知道如何将数据传递给ViewModelC# 将数据从活动传递到ViewModel,c#,mvvmcross,C#,Mvvmcross,我是使用MvvmCross的新手,我有一个问题。我想实现在活动中拍照,这是本机方式,但我不知道如何将数据传递给ViewModel 有一种方法可以做到这一点?将数据传递给ViewModel相当简单。如果您在活动中,并且假定它继承自MvxActivity或类似功能,则您将拥有可直接从其访问的ViewModel属性 这些活动还有通用版本,因此您不必自己键入castViewModel属性 因此,如果你有: public class MyActivity : MvxActivity<PictureV
有一种方法可以做到这一点?将数据传递给ViewModel相当简单。如果您在活动中,并且假定它继承自MvxActivity或类似功能,则您将拥有可直接从其访问的
ViewModel
属性
这些活动还有通用版本,因此您不必自己键入castViewModel
属性
因此,如果你有:
public class MyActivity : MvxActivity<PictureViewModel>
{
}
这个myData
对象可以是一个包含图片数据的字节数组
MvvmCross已经有了一个拍照插件,它使用内置的安卓摄像头来拍照。如果你加上
MvvmCross.Plugins.PictureChooser
对于Android和Core项目,您可以直接在ViewModel
中使用IMvxPictureChooserTask
,而不涉及任何其他内容:
public class PictureViewModel : MvxViewModel
{
private IMvxPictureChooserTask _pictureTask;
public PictureViewModel(IMvxPictureChooserTask pictureTask)
{
_pictureTask = pictureTask;
}
private byte[] _pictureBytes;
// in some command:
private void DoTakePicture()
{
_pictureTask.TakePicture(500, 500, stream => {
_pictureBytes = ReadStream(stream);
}, () => {});
}
}
将数据传递到ViewModel相当容易。如果您在活动中,并且假定它继承自MvxActivity或类似功能,则您将拥有可直接从其访问的
ViewModel
属性
这些活动还有通用版本,因此您不必自己键入castViewModel
属性
因此,如果你有:
public class MyActivity : MvxActivity<PictureViewModel>
{
}
这个myData
对象可以是一个包含图片数据的字节数组
MvvmCross已经有了一个拍照插件,它使用内置的安卓摄像头来拍照。如果你加上
MvvmCross.Plugins.PictureChooser
对于Android和Core项目,您可以直接在ViewModel
中使用IMvxPictureChooserTask
,而不涉及任何其他内容:
public class PictureViewModel : MvxViewModel
{
private IMvxPictureChooserTask _pictureTask;
public PictureViewModel(IMvxPictureChooserTask pictureTask)
{
_pictureTask = pictureTask;
}
private byte[] _pictureBytes;
// in some command:
private void DoTakePicture()
{
_pictureTask.TakePicture(500, 500, stream => {
_pictureBytes = ReadStream(stream);
}, () => {});
}
}
您是否在活动类中引用了ViewModel?您的ViewModel上是否有一些属性可以从活动中获取/设置?Mvvmcross使用约定在ViewModel和活动之间进行引用。我找不到如何将数据放入ViewModel。是否在活动类中引用ViewModel?您的ViewModel上是否有一些属性可以从活动中获取/设置?Mvvmcross使用约定在ViewModel和活动之间进行引用。我找不到如何将数据放入ViewModel。这就是我想要的。谢谢,这就是我想要的。谢谢