2

これは基本的なプロセスであり、GoogleやKindleアカウントの参考書で情報を見つけることができません。

Windows 8より前の通常のフォームアプリケーションでは、フォーム2を使用していて、フォーム1で何かを更新する場合は、次のように入力するだけです。

form1.Default.controlOnForm1.text = "updated text";

これはWindows8では機能しません。

ありがとうございました。

更新:データバインディングが必要なことを実行しない場合に、これを行う簡単な方法を見つけました。アクセスする必要のあるコントロールの静的コピーを作成するだけです。ページ2のボタン1はページ1でアクセスする必要があると言います。

上部で宣言します:

public static Button statButton1;

ロードされたイベントで、静的コピーとXAMLコードのボタンの間に関係を作成します。

statButton1 = Button1;

そして、パイのように簡単に、どこからでもボタンにアクセスできます。

page2.statButton1.Width = 48;
4

1 に答える 1

2

Windows 8 アプリ (またはその他の XAML ベースのアプリ) は通常、MVVM パターンを使用して作成されます。それについて読んで同じことをすることを本当にお勧めします。このパターンにより、アプリケーション内の結合が減り、開発と保守が容易になります。

ここで話している変更の種類は、ViewModel (VM) でプロパティを設定することによって行われます。これにより、ビュー (UI) に が通知され、PropertyChangedEvent更新できるようになります。

ViewModel が互いのプロパティを設定できるようにするには、すべての ViewModel が互いを認識している必要があり、それが高い結合につながります。これは通常、サブスクライブ/パブリッシュ パターンに基づいてオブジェクト間でメッセージ/イベントを送信するEventAggregatororMessageBusを使用することで解決されます (お互いを認識しません)。

まず、An Address Book Application Made in MVVM for Metroを見ていきます。これは、フレームワークなしでこのパターンを使用する基本的な例です。

MVVM パターンに慣れたら、Caliburn.MicroMVVM Lightなどのフレームワークを使用することをお勧めします。これらのフレームワークは、MVVM パターンを使用してアプリケーションを構築するための多くの優れた機能を提供します。

于 2012-11-07T19:53:03.273 に答える