如何更改 FreshMvvm 期望实体页面名称的方式?
How to change the way FreshMvvm expects the page name for an entity?
我有一个基于 FreshMvvm 的简单项目,只有一个实体,Contact
具有 2 个字符串属性,Name
和 Number
。
该应用程序显示联系人列表,当用户点击联系人时,它会打开包含联系人详细信息的 ContactPage.xaml
。
应用程序运行正常,但我想将 ContactPage.xaml
的名称更改为 ContactDetailsPage.xaml
,在这种情况下,当 FreshMvvm 在打开联系人详细信息时尝试查找 ContactPage.xaml
,它失败了。
我如何告诉 FreshMvvm 寻找 ContactDetailsPage.xaml
而不是 ContactPage.xaml
?
ContactListPage.xaml 看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="FreshMvvmDemo.Pages.ContactListPage">
<ContentPage.Content>
<StackLayout>
<Label Text="{Binding MainText}" VerticalOptions="Center" HorizontalOptions="Center" />
<ListView ItemsSource="{Binding ContactList}" SelectedItem="{Binding SelectedContact}">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Name}" Detail="{Binding Number}"></TextCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
ContactPage.xaml 看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="FreshMvvmDemo.Pages.ContactPage">
<ContentPage.Content>
<StackLayout>
<Entry Text="{Binding Contact.Name}"></Entry>
<Entry Text="{Binding Contact.Number}"></Entry>
</StackLayout>
</ContentPage.Content>
</ContentPage>
要打开 ContactDetailsPage.xaml
而不是 ContactPage.xaml
,我必须将相应的 ViewModel class 从 ContactPageModel
重命名为 ContactDetailsPageModel
。
感谢@JackHua-MSFT 的帮助。
我有一个基于 FreshMvvm 的简单项目,只有一个实体,Contact
具有 2 个字符串属性,Name
和 Number
。
该应用程序显示联系人列表,当用户点击联系人时,它会打开包含联系人详细信息的 ContactPage.xaml
。
应用程序运行正常,但我想将 ContactPage.xaml
的名称更改为 ContactDetailsPage.xaml
,在这种情况下,当 FreshMvvm 在打开联系人详细信息时尝试查找 ContactPage.xaml
,它失败了。
我如何告诉 FreshMvvm 寻找 ContactDetailsPage.xaml
而不是 ContactPage.xaml
?
ContactListPage.xaml 看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="FreshMvvmDemo.Pages.ContactListPage">
<ContentPage.Content>
<StackLayout>
<Label Text="{Binding MainText}" VerticalOptions="Center" HorizontalOptions="Center" />
<ListView ItemsSource="{Binding ContactList}" SelectedItem="{Binding SelectedContact}">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Name}" Detail="{Binding Number}"></TextCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
ContactPage.xaml 看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="FreshMvvmDemo.Pages.ContactPage">
<ContentPage.Content>
<StackLayout>
<Entry Text="{Binding Contact.Name}"></Entry>
<Entry Text="{Binding Contact.Number}"></Entry>
</StackLayout>
</ContentPage.Content>
</ContentPage>
要打开 ContactDetailsPage.xaml
而不是 ContactPage.xaml
,我必须将相应的 ViewModel class 从 ContactPageModel
重命名为 ContactDetailsPageModel
。
感谢@JackHua-MSFT 的帮助。