2

右から左のMessageDialogを表示したい。しかし、そのようなオプションは存在しないようです。

このような質問を見ました ( How to center Popup in Metro style app in c# ) が、RTL は別の問題だと思います。

唯一の解決策は、独自の「RTL Popup」を作成することですか? もしそうなら、どのように?

前もって感謝します。

私はこのコードを使用してみました: RTL メッセージ コード

しかし、結果はRTLではありません: 結果 - RTL ではない

4

3 に答える 3

1

C# はわかりませんが、messageDialog.OnPaintメソッドをオーバーライドできるかもしれません。私はVBでこれを行い、有効にされたときにボタンに異なる色のテキストを表示するようにしました。

Protected Overrides Sub OnPaint(ByVal pevent As System.Windows.Forms.PaintEventArgs)
    If MyBase.Enabled Then
        If Me.Text = "" Then
            MyBase.OnPaint(pevent)
            Dim sf As SizeF = pevent.Graphics.MeasureString("Login", Me.Font, Me.Width)
            Dim ThePoint As New Point((Me.Width / 2) - (sf.Width / 2), (Me.Height / 2) - (sf.Height / 2))
            pevent.Graphics.DrawString("Login", Me.Font, Brushes.Black, ThePoint)
        Else
            MyBase.OnPaint(pevent)
        End If

    Else
        Me.Text = ""
        MyBase.OnPaint(pevent)
        Dim sf As SizeF = pevent.Graphics.MeasureString("Not Ready...", Me.Font, Me.Width)
        Dim ThePoint As New Point((Me.Width / 2) - (sf.Width / 2), (Me.Height / 2) - (sf.Height / 2))
        pevent.Graphics.DrawString("Not Ready...", Me.Font, Brushes.Red, ThePoint)
    End If

End Sub
于 2014-06-13T20:13:55.170 に答える
-2

以下の Message Dialog を ur メソッドで使用できます。

var messageDialog = new MessageDialog(" You Can Show Message Here");
                messageDialog.Title = "Alert";
                // Add commands and set their callbacks; both buttons use the same callback function instead of inline event handlers
                messageDialog.Commands.Add(new UICommand(
                    "OK",
                    new UICommandInvokedHandler(this.CommandInvokedHandlerAddPics)));

                messageDialog.Commands.Add(new UICommand(
                    "No",
                    new UICommandInvokedHandler(this.CommandInvokedHandlerback)));

                // Set the command that will be invoked by default
                messageDialog.DefaultCommandIndex = 0;

                // Set the command to be invoked when escape is pressed
                messageDialog.CancelCommandIndex = 1;

                // Show the message dialog
                await messageDialog.ShowAsync();

OK または No ボタンのメソッド

private void CommandInvokedHandlerAddPics(IUICommand command)
    {
        if (command.Label.Equals("OK"))
        {

        }
        else if (command.Label.Equals("No"))
        {

        }
    }
于 2012-09-24T08:10:41.503 に答える