我正在編寫程序WPF
(c#)。我住在伊朗,所以我的語言是波斯語(right to left
)。我想用更多按鈕或其他控件製作自定義MessageBox
。模擬MessageBox.Show()
我使用簡單的Window
來顯示消息。在C#中,當MessageBox顯示時,用戶無法單擊或使用其他窗口做任何事情。我怎麼能simulate
這個,在我的窗口?
在前面我使用了WPFCustomeMessageBox庫。請不要轉介給我。
我正在編寫程序WPF
(c#)。我住在伊朗,所以我的語言是波斯語(right to left
)。我想用更多按鈕或其他控件製作自定義MessageBox
。模擬MessageBox.Show()
我使用簡單的Window
來顯示消息。在C#中,當MessageBox顯示時,用戶無法單擊或使用其他窗口做任何事情。我怎麼能simulate
這個,在我的窗口?
在前面我使用了WPFCustomeMessageBox庫。請不要轉介給我。
This沒有解決將文本對齊爲從右到左的問題,這是他首先使用的不是MessageBox的原因。 –
其實,事實並非如此。問題是關於模態對話框。仔細讀。 – SysDragon
正確 - 我的錯誤。 –
使用Window.Showdialog,不要忘記設置窗口父,否則你會得到有趣的行爲。
然後在Window類中具有預期回報的屬性,這些屬性由對話框的結果填充。 像:沿着這個思路應該工作的
public void testDialog()
{
var return = new DialogModelReturn();
mywindow.ShowDialog(new DialogModel(return));
if (return.isOk)
{
}
}
東西。 另外:我會建議將WindowStyle設置爲none,或者至少只有一個關閉按鈕,才能使用「ModalDialog感覺」。
像這樣:
<Window x:Class="bla.bla"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Fortschritt" Icon="bla.png" Height="200" Width="600"
WindowStyle="None" Background="RoyalBlue">
這並沒有解決將文本對齊爲從右到左的問題。 –
這不是他的問題,他問有關模態對話功能--- –
是否正確 - 我的錯誤。 –
編輯:看來我沒仔細看這個問題,並認爲這個問題是有關無法在消息框使用從右到左對齊(其通過MessageBoxOptions是可能的)。
還有就是MessageBox.Show()
方法的重載,允許您指定MessageBoxOptions
。其中一些選項是從右到左對齊。
我不知道在伊朗使用的語言(S),所以你必須嘗試用自己的文字,但在這裏是如何指定的選項(該方法的最後一個參數):
string message = "Test message.";
string caption = "RTL Test";
MessageBoxImage image = MessageBoxImage.Information;
MessageBoxButton button = MessageBoxButton.OK;
MessageBoxResult defaultResult = MessageBoxResult.OK;
MessageBox.Show(message, caption, button, image, defaultResult, MessageBoxOptions.RightAlign);
MessageBox.Show(message, caption, button, image, defaultResult, MessageBoxOptions.RtlReading);
MessageBox.Show(message, caption, button, image, defaultResult, MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign);
這裏是一個MSDN文章有關選項的鏈接:MessageBoxOptions Enum (Winforms)
你可以用'Window.ShowDialog'獲得一個模態對話框。請參閱[MSDN](http://msdn.microsoft.com/de-de/library/system.windows.window_methods.aspx)。 –
@ bash.d這並沒有解決將文本對齊爲從右到左的問題,這就是他首先使用的不是MessageBox的原因。 –
好友,仔細閱讀!我在說'Window.ShowDialog()'而不是'MessageBox.ShowDialog()'。 –