Мне удалось наследовать от класса ContentPage, производный класс называется SubContentPage.
Он содержит некоторые элементы шаблона (кнопка и заголовок).
У меня есть два класса FilterPage и SettingsPage, которые наследуются от SubContentPage. Когда я отображаю одну из этих производных страниц, я вижу только содержимое графического интерфейса SubContentPage, хотя когда FilterPage и SettingsPage унаследованы от ContentPage ранее, это работало. Так что мой код GUI не является неправильным.
Моя идея заключалась в том, что SubContentPage и производные классы не используют один и тот же контент, где появляются графические элементы управления. Таким образом, производные элементы GUI игнорируются.
Я пытался использовать для классов SubContentPage и FilterPage одно и то же имя StackLayout. Но это не сработает.
SubContentPage.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="solna_app.GUI.Pages.SubContentPage">
<ContentPage.Content>
<StackLayout>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image x:Name="BackIcon" HorizontalOptions="Start"
Grid.Row="0" />
<Label x:Name="TitleLabel" HorizontalOptions="Center"
FontSize="Large" FontAttributes="Bold"
TextColor="Black" Grid.Row="0" />
</Grid>
</StackLayout>
</ContentPage.Content>
</ContentPage>
FilterPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<d:SubContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="clr-namespace:solna_app.GUI.Pages;assembly=solna_app"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="solna_app.GUI.Pages.FilterPage">
<d:SubContentPage.Content>
<StackLayout>
<Label x:Name="SearchLabel" Text="Search keyword"
TextColor="Black" FontSize="Large" Margin="10,10,0,0" />
<Editor x:Name="SearchEditor" Placeholder="Type a keyword"
PlaceholderColor="Gray" Margin="10,10,10,0"
HorizontalOptions="CenterAndExpand"/>
</StackLayout>
</d:SubContentPage.Content>
</d:SubContentPage>
Я ожидаю, что отображаются элементы управления пользовательского интерфейса SubContentPage И элементы управления пользовательского интерфейса производного класса.