Как изменить способ, которым FreshMvvm ожидает имя страницы для сущности?

У меня есть простой проект, построенный на FreshMvvm, и есть только одна сущность, Contact с двумя строковыми свойствами, 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>

Как вы сказали FreshMvvm найти ContactPage.xaml, прежде чем изменить имя?

nevermore 15.05.2019 05:01

Я ничего особенного не говорил, это автоматическое поведение, как я понимаю. Я полагаю, что FreshMvvm просто извлекает имя класса из имени ContactListPageModel и создает имя ContactPage.xaml для одного выбранного элемента. Мои предположения неверны?

user11212840 15.05.2019 06:42

Я просто проверяю образец и документ FreshMvvm, он говорит A Page must have a corresponding PageModel, я думаю, у вас есть ContactPageModel в вашем проекте. Если вы хотите изменить название страницы на ContactDetailsPage, вы также должны изменить название модели на ContactDetailPageModel.

nevermore 15.05.2019 10:07
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы открыть ContactDetailsPage.xaml вместо ContactPage.xaml, мне нужно переименовать соответствующий класс ViewModel с ContactPageModel на ContactDetailsPageModel.

Спасибо @JackHua-MSFT за помощь.

Другие вопросы по теме