Listview 沙马林;MVVM如何实现?

Listview 沙马林;MVVM如何实现?,listview,mvvm,xamarin.forms,custom-renderer,Listview,Mvvm,Xamarin.forms,Custom Renderer,嗨,我是新来的Xamarin,有人建议我使用纯MVVM,因为我的代码是MVVM和什么都没有的混合体 我看了这些例子: 但我仍然无法在代码中正确定义什么是模型,什么是视图,什么是模型视图 你能告诉我在MVVM之后我的项目的正确结构吗?让我试着用参考示例Employee来解释纯MVVM结构 PCL: =>模型:将包含所有模型类别。例如employee.cs =>视图:将包含所有xaml页面。例如employeeList.xaml等 =>ViewModel:将包含所有ViewModel。例如emp

嗨,我是新来的
Xamarin
,有人建议我使用纯
MVVM
,因为我的代码是
MVVM
和什么都没有的混合体

我看了这些例子:

  • 但我仍然无法在代码中正确定义什么是
    模型
    ,什么是
    视图
    ,什么是
    模型视图


    你能告诉我在
    MVVM
    之后我的项目的正确结构吗?

    让我试着用参考示例Employee来解释纯MVVM结构

    PCL:

    =>模型:将包含所有模型类别。例如employee.cs

    =>视图:将包含所有xaml页面。例如employeeList.xaml等

    =>ViewModel:将包含所有ViewModel。例如employeeViewmodel.cs,您可以在其中定义可绑定属性、命令和所有其他操作方法,如添加、更新等。现在使用bindingContext将此viewmodel绑定到视图

    =>DependencyService:定义要在不同平台上实现的接口

    安卓:

    =>DependencyService:根据您的需求实现特定于平台的接口

    =>CustomRenderer:根据平台,根据特定需求在此处创建自定义渲染

    编辑:

    请参见您希望在视图(UI)上显示不断变化的员工总数的示例

    因此,您可以在实现INotifyPropertyChanged的viewmodel中创建可绑定属性EmpCount。现在你可以用任何方法设置它


    现在,您已经将此视图模型设置为页面的绑定上下文。它的值会自动反映在UI上。

    看起来您缺少了视图模型。您有一个视图(保存ListView的视图)和一个模型(StoreModel),但缺少一个“连接”它们的ViewModel。只需创建一个ViewModel并让您的控件。(ListView)将其属性和事件绑定到该模型和done@Tobias如果我没有必须自己处理绑定的CustomRenders,并且Android有自己的CellView,这将非常简单。我不明白为什么这会阻止你将视图属性绑定到viewModel上。你能更详细地解释一下这一部分吗?有很多关于MVVM和用Xamarin表单实现MVVM的文章,从了解MVVM本身开始。看看这个@Tobias Theel我试着多解释一点。。。够了吗?关于
    ContentPage.BindingContext
    {Binding Property}
    BindableProperty
    我真的不明白它们是如何使用的…@Tiago\nes请检查我的编辑。如果您对
    可观察到的收集
    还有任何疑问,请告诉我?当我使用collection rigth时,我不需要实现
    InTifyPropertyChanged
    ?它实际上应该是。但有时它不会反映。因此我建议您实现InTifyPropertyChanged并为其创建可绑定属性。为了更好地实践。