私はmasterdetailpageとrootpageとして機能するcontentpageを持っています。しかし、私がそれをすると、ログに何かを入力するときに機能しますが、実際に何かを起こさせようとすると、例えばラベルのテキストを変更したり、大きなものを作るなどして動作します。メソッド内のSystem.Diagnostics.Debugが実行されますが。私のコードは次のようになります。パブリックメソッドは "ログ"でのみ実行されますが、ラベル、ボタンなどでは実行されません。
マイmasterdetailpage:
knappen.Clicked += (object sender, EventArgs e) => {
var ourStartPage = new StartPage();
ourStartPage.InitThisPage();
}
そして、これは私がロードされたい私の特定の機能をロードするパブリックメソッドを持つ私のcontentpage(スタートページ)です:
public void InitThisPage()
{
LoadData();
}
async void LoadData()
{
label.TextColor = Color.Red; //so this does not change color
System.Diagnostics.Debug.WriteLine ("Does it reach this?"); //but it reaches this and types this out in the log.
}
したがって、上記のそれはログに入力したものに届きますが、ラベルの色は変わりません。私は別のラベル、ボタン、画像などを試しましたが、ログの中で実行するのとは異なり、実行されていないようです。
ここに問題がありますか?
、私はあなたがの2つのインスタンスを持っていることをかなり確信していますStartPage - 実際に画面に表示されるものと、ボタンをクリックした後に作成するもの。一方のプロパティーを更新しても他方のプロパティーは変更されません。 – Jason
私は1つの "StartPage"しか持っていませんが、変数を作成するときに私が到達できる唯一のものです。 StartPageViewModelにもアクセスできます。 – Yannick
1つのStartPageクラスがありますが、複数のインスタンスがあります。単に「新しいStartPage()」を実行しても、それをビジュアル階層に追加することはできず、画面上で見ることができます。 – Jason