Witam robiąc slide bar pogubiłem się sam w swoim kodzie i mam problem z dodaniem kontrolki do strony (próbowałem również przez kod C#)
<?xml version="1.0" encoding="utf-8" ?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:SchoolApp2.Views"
x:Class="SchoolApp2.Views.MainPage"
xmlns:customControls="clr-namespace:SchoolApp2.Controls;assembly=SchoolApp2"
NavigationPage.HasNavigationBar="False"
xmlns:pages="clr-namespace:SchoolApp2.Views">
<MasterDetailPage.Master>
<ContentPage Title="Menu" Icon="hamburger.png"
BackgroundColor="White">
<StackLayout Orientation="Vertical">
<ListView x:Name="navigationDrawerList"
RowHeight="55"
SeparatorVisibility="None"
ItemTapped="Handle_ItemTapped"
BackgroundColor="White">
<ListView.Header>
<Grid HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="80"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="5"/>
</Grid.RowDefinitions>
<Image Source="menuheader.jfif"
Aspect="AspectFill"
Grid.RowSpan="5"
Grid.ColumnSpan="4"
HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"></Image>
</Grid>
</ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<customControls:ExtendedViewCell SelectedBackgroundColor="White">
<ViewCell.View>
<StackLayout VerticalOptions="FillAndExpand"
Orientation="Horizontal"
Padding="20,10,0,10"
Spacing="20">
<Image Source="{Binding Icon}"
WidthRequest="30"
HeightRequest="30"
VerticalOptions="Center" />
<Label Text="{Binding Title}"
FontSize="Medium"
VerticalOptions="Center"
TextColor="Black"/>
</StackLayout>
</ViewCell.View>
</customControls:ExtendedViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
using System;
using System.Collections.Generic;
using System.Linq;
using SchoolApp2.MenuItems;
using SchoolApp2.Views.AboutUS;
using SchoolApp2.Views.Configuration;
using SchoolApp2.Views.Home;
using SchoolApp2.Views.Profile_Settings;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace SchoolApp2.Views
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MainPage : MasterDetailPage
{
public List<MasterPageItem> menuList { get; set; }
public MainPage()
{
InitializeComponent();
menuList = new List<MenuItems.MasterPageItem>();
menuList = new List<MasterPageItem>();
var page1 = new MasterPageItem() { id = 1, Title = "School Grades", Icon = "Home.png" };
var page2 = new MasterPageItem() { id = 2, Title = "lesson plan", Icon = "About.png" };
var page3 = new MasterPageItem() { id = 3, Title = "...", Icon = "Configuration.png" };
menuList.Add(page1);
menuList.Add(page2);
menuList.Add(page3);
navigationDrawerList.ItemsSource = menuList;
Detail = new NavigationPage((Page)Activator.CreateInstance(typeof(HomePage)));
var label = new Label { Text = "This is a green label.", TextColor = Color.FromHex("#77d065"), FontSize = 20 };
}
async private void Handle_ItemTapped(object sender, Xamarin.Forms.ItemTappedEventArgs e)
{
var myselecteditem = e.Item as MasterPageItem;
switch (myselecteditem.id)
{
case 1:
await Navigation.PushAsync(new HomePage());
break;
case 2:
await Navigation.PushAsync(new HelpPage());
break;
case 3:
await Navigation.PushAsync(new HomePage());
break;
/*case 4:
await Navigation.PushAsync(new LogoutPage());
break;
case 5:
await Navigation.PushAsync(new SettingPage());
break;
case 6:
await Navigation.PushAsync(new SettingPage());
break;*/
}
((ListView)sender).SelectedItem = null;
IsPresented = false;
}
}
}