Xamarin Forms Xaml上でMasterDetail Pageを作成して問題なく動かすことができました。 マイMasterDetailPageコードは次のとおりです。Xamarinフォームのコンテキストを共有するXaml MasterDetailPage
<?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:vm="clr-namespace:XXX.ViewModel"
xmlns:conv="clr-namespace:XXX.Converters"
xmlns:local="clr-namespace:XXX;assembly=XXX"
x:Class="XXX.MainPage"
Title="XXX">
<MasterDetailPage.Master>
<local:MainMenu />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<ContentPage BindingContext="{StaticResource viewModel}" Title="XXX">
//old MainPage Content
</ContentPage>
</MasterDetailPage.Detail>
アプリは、それは昔のメインページのように起動し、私は左からスイングあれば、それは詳細を示し、右のViewModelに対応しています。
問題は、詳細コンテンツに含まれるリストビューに対してフィルタメニューを実行するための変更が行われたために発生し、ユーザーが詳細を入力したときに詳細とマスターとのコンテキストを共有する必要がありますマスターのボタン、詳細のリスト内容が変更されます。
また、プログラムでマスターページを開く/閉じる方法を知る必要があります。私のコードは次のように見える終わりになるよう
<MasterDetailPage.BindingContext>
<vm:MainViewModel />
</MasterDetailPage.BindingContext>
が、私はIsPresentedを使用閉じたり、それを開くには:
ありがとう、私はできる限りXamlとMvvmですべてをやろうとしていますが、私はMasterDetailPageのヘッダーにIsPresented = "{Binding MasterIsPresented}"を使用しました – Mulflar