|
<controls:ParallaxListView
x:Name="ListView"
HasUnevenRows="True"
ItemsSource="{Binding SelectedCategory.Pages}"
RowHeight="96"
SelectionChanged="ListView_OnSelectionChanged"
SeparatorVisibility="None"> |
|
private void ListView_OnSelectionChanged(object sender, SelectedItemChangedEventArgs e)
{
if (e.SelectedItem == null || this.isNavigationInQueue)
{
return;
}
this.isNavigationInQueue = true;
Navigation.PushAsync(new TemplateHostPage(e.SelectedItem as Template));
}
|
|
<border:SfBorder Grid.Row="2" Grid.RowSpan="2"
VerticalOptions="FillAndExpand"
x:Name="HostViewContainer"
BorderWidth="0"
CornerRadius="10,10,0,0">
<!--<ScrollView x:Name="MainScrollView" >-->
<controls:TemplateHostView x:Name="TemplateHostView"/>
<!--</ScrollView>-->
</border:SfBorder> |
|
public TemplateHostPage(Template selectedTemplate)
{
InitializeComponent();
TemplateHostView.HeightRequest = HostViewContainer.HeightRequest = Application.Current.MainPage.Height - 55;
TemplateHostView.WidthRequest = HostViewContainer.WidthRequest = Application.Current.MainPage.Width;
if (selectedTemplate != null)
{
Title.Text = selectedTemplate.Name;
this.LoadPage(selectedTemplate.PageName);
}
}
private void LoadPage(string pageURL)
{
var assembly = typeof(App).GetTypeInfo().Assembly;
var page = (Page)Activator.CreateInstance(assembly.GetType($"EssentialUIKit.{pageURL}"));
TemplateHostView.Template = new NavigationPage(page);
} |