【发布时间】:2019-10-12 03:55:48
【问题描述】:
我正在使用 Prism 构建 xamarin 表单应用程序。 我从未使用过局部视图,也找不到任何示例。
谁能给我举个例子,让我看看是否符合我想要实现的目标?
非常感谢
【问题讨论】:
标签: xamarin.forms prism
我正在使用 Prism 构建 xamarin 表单应用程序。 我从未使用过局部视图,也找不到任何示例。
谁能给我举个例子,让我看看是否符合我想要实现的目标?
非常感谢
【问题讨论】:
标签: xamarin.forms prism
来自Docs:
部分视图的概念是支持自定义布局,它可以 跨多个页面重用,并消除 ViewModel 逻辑 通过允许该自定义布局依赖于它自己的重复 视图模型。要使用局部视图,您必须设置 ViewModelLocator.AutowirePartialView 属性与引用 包含页面,如此处所示。你不应该设置 局部视图上的 ViewModelLocator.AutowireViewModel 属性,除非 您明确选择不将此属性设置为 true 直接可能会导致 ViewModel 设置错误。
例子:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:AwesomeApp.Views"
xmlns:prism="clr-namespace:Prism.Ioc;assembly=Prism.Forms"
xmlns:mvvm="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
x:Name="self"
x:Class="AwesomeApp.Views.ViewA">
<StackLayout>
<local:AwesomeView mvvm:ViewModelLocator.AutowirePartialView="{x:Reference self}" />
<Entry Text="{Binding SomeValue" />
</StackLayout>
</ContentPage>
【讨论】: