InfernumDeus
InfernumDeus

Reputation: 1202

How to convert XAML to pure C#?

I have page in XAML and need it in pure C#. But can't figure out how to convert it.

<?xml version="1.0" encoding="utf-8" ?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="xmr_cross_test.Navigation.MDPage">

  <MasterDetailPage.Master>
    <ContentPage Title="Menu">
      <StackLayout Orientation="Vertical">
        <ListView x:Name="navigationDrawerList"
                  RowHeight="60"
                  SeparatorVisibility="None"
                  ItemSelected="OnMenuItemSelected">
        </ListView>
      </StackLayout>

    </ContentPage>
  </MasterDetailPage.Master>

  <MasterDetailPage.Detail>
    <NavigationPage>

    </NavigationPage>
  </MasterDetailPage.Detail>
</MasterDetailPage>

How to do so keeping binding and ability to change MasterDetailPage.Detail?

I had to remove ListView.ItemTemplate declaration as SO doesn't allow me to post so big amount of code. Guess it won't be too hard to figure out after I get answer.

Upvotes: 2

Views: 397

Answers (1)

Jason
Jason

Reputation: 89082

MasterDetailPage mdp = new MasterDetailPage();
ContentPage master = new ContentPage { Title = "Menu" };
StackLayout menu = new StackLayout();
ListView menuList = new ListView() { RowHeight = 60 };
menuList.ItemSelected += OnMenuItemSelected;
ContentPage detail = new ContentPage();

menu.Children.Add(menuList);
master.Content = menu;
mdp.Master = master;

mdp.Detail = new NavigationPage(detail);

Upvotes: 3

Related Questions