mvvmcross xamarin.forms PictureChooser
Posted
技术标签:
【中文标题】mvvmcross xamarin.forms PictureChooser【英文标题】: 【发布时间】:2021-11-27 01:14:17 【问题描述】:我正在尝试使用 PictureChooser 插件开发照片应用程序。我看到该示例使用 Xamarin.ios。我搜索了插件使用 Xamarin.Forms 但找不到任何示例的示例。我了解标签、文本编辑器和按钮的绑定是如何工作的;但是,页面的图像控件和视图模型的 byte[] 的绑定让我很吃惊。
DAA.UI 项目:
在 CameraPage.XAML 中:
<Image x:Name="MyImage"
Source="Binding Bytes, Converter=StaticResource InMemoryImage"
Aspect="Fill"
HeightRequest="OnPlatform iOS=300, android=250"
WidthRequest="OnPlatform iOS=300, Android=250"
HorizontalOptions="Center" />
在 App.XAML 中:
<?xml version="1.0" encoding="utf-8" ?>
<Application
x:Class="DamageAssessmentApp.UI.App"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="clr-namespace:MvvmCross.Forms;assembly=MvvmCross.Forms"
xmlns:resources="clr-namespace:DAA.UI.Resources"
xmlns:local="using:DAA.UI"
xmlns:nativeValueConverters="using:DAA.UI.NativeValueConverters">
<Application.Resources>
<!-- Application resource dictionary -->
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<resources:Colors />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
<nativeValueConverters:NativeInMemoryImageValueConverter x:Key="InMemoryImage"/>
</Application.Resources>
</Application>
值转换器文件:
using MvvmCross.Forms.Converters;
namespace DAA.UI.NativeValueConverters
public class NativeInMemoryImageValueConverter : MvxNativeValueConverter<MvxInMemoryImageValueConverter>
编译器在值转换器文件中找不到MvxInMemoryImageValueConverter。
【问题讨论】:
一个不错的选择是 Xamarin 社区工具包Camera View。有一些可用的示例。或者 Media Picker 来自 Xamarin.Essentials 感谢您查看 Xamarin 社区工具包。 【参考方案1】:如果您使用 MVVMCross,您应该找到一个适用于 Xamarin.Forms 的示例,在这种情况下,一个很好的起点是他们的 Github。
或者你必须在每个平台上实现它并使用 DependencyService 来获取实现
其他替代品
-
Xamarin 社区工具包
相机应用程序的另一个替代方案是 Xamarin 社区工具包Camera View。在同一个链接中有一个例子。但在他们的Github 中有更多示例。这与 Xamarin.Forms 完全兼容,并带来了对 CameraView 的更多控制
-
Xamarin.Essentials
Xamarin.Essentials 提供MediaPicker,让用户可以从图库中上传照片或拍摄新照片。但是照片的动作是由操作系统处理的,所以对你来说它就像一个黑匣子。您调用该函数,然后获取照片。
【讨论】:
Media Picker 的工作方式与 PictureChooser 类似,并且按照宣传的方式工作。以上是关于mvvmcross xamarin.forms PictureChooser的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Xamarin Forms Shell 集成到 MvvmCross 设置中
如何将 Xamarin Forms Shell 集成到 MvvmCross 设置中
在 Xamarin.Forms MvvmCross 中存储视图
MvvmCross 与 Xamarin.Forms 和自定义 iOS 渲染器 - 防止导航滑动 iOS - MasterDetail