0

要件に応じてメッセージダイアログのUIが変わるように、メッセージダイアログボックスのユーザーコントロールを作成したいと思います。たとえば、タイトル、メッセージ、タイプを渡すと、メッセージのタイプに応じて、そのメッセージダイアログが表示されます。タイプには、エラー、警告、単純なメッセージなどがあります。これを実現するにはどうすればよいですか。タイプがエラー例として設定されている場合、カスタムメッセージダイアログのUIは次のようになります。 ここに画像の説明を入力してください

4

4 に答える 4

2

これはあなたが思っているよりも驚くほど達成するのが難しいです。課題は、ダイアログが非同期のままであることを確認し、ビジュアルツリーに表示することにあります。Gopeは、CallistoフレームワークにあるCustomDialogについてすでに言及しましたが、それは非常に限定的であることがわかりました。代わりに、任意のユーザーコントロールを表示するために使用できる汎用ダイアログを作成する方法を示すこの非常に優れた記事に従いました。

Win8アプリのカスタム非同期ダイアログの作成 http://www.visuallylocated.com/post/2012/11/12/Creating-a-custom-async-dialog-for-your-Win8-apps-Part-2-CustomDialog .aspx

開発サポート、設計サポート、そして途中でのより素晴らしい良さ:http: //bit.ly/winappsupport

于 2013-02-26T19:10:56.627 に答える
0

ああ、あなたはたくさん尋ねています!

:)

さて、このようにしてください、私はあなたを導き、あなたはあなたの役割を果たします:

クラスSysDialogを作成します:HtmlGenericControl

public SysDialog() {
 TagName = 'div';
}

public string Title {get;set;}
public string Message {get;set;}
public string MessageType {get;set;}

public SysDialog Render(){ 

HtmlGenericControl title = new HtmlGenericControl ();
title.TagName = "div";
HtmlGenericControl msg = new HtmlGenericControl ();
msg.TagName = "div";

title.InnerHTML = Title;
msg.InnerHTML = Message;
Controls.Add(title);
Controls.Add(msg);
title.Attritbues.Add("class", "title-" + MessageType);
msg.Attritbues.Add("class", "msg-" + MessageType);
Attritbues.Add("class", "sysdlg-" + MessageType);
return this;
}

それはちょうど出発点です。このコードを変更して、メッセージの種類とメッセージの種類に基づいたdiv/buttonsなどを強化します。

于 2013-02-26T12:25:00.807 に答える
0

まず、CallistoとそのCustomDialog( http://bit.ly/ILTyRn )を調べる必要があります。残念ながら、それはまだ封印されたクラスであるため、そのコードを使用するか、ダイアログタイプのAttachedPropertyを定義することができます。それ以外に必要なのは、3つの異なるテンプレートとDialogTypePropertyをチェックするTemplateSelectorです(このようなプロパティを作成する必要があります-AttachedProp fe)

それがあなたを正しい方向に向けることを願っています。:)

于 2013-02-26T12:28:48.127 に答える
0

ここには、Awaitable UIアプローチを使用するサンプル実装もあります(async / awaitキーワードを使用してUIイベントを待機します)。

于 2013-02-26T23:22:51.507 に答える