[英]How to style a MessageBox (Extended Toolkit) without app.xaml
我為擴展工具包的消息框創建了一個樣式。 只要我在帶有 app.xaml 的 WPF 項目中使用它,它就可以正常工作,我可以在其中設置 Application.Resources 中的資源。 當我想在 WPF 用戶控件庫中使用它時,沒有 app.xaml。 有沒有辦法在那里使用樣式? 我不能使用 Window.Resources,因為 MessageBox 本身就是一個新窗口。
我找到了解決辦法。
首先,我創建了一個靜態 Style 屬性,該屬性返回我在 ResourceDictionary 中定義的樣式。
public static System.Windows.Style MyMessageBoxStyle
{
get
{
var myResourceDictionary = new ResourceDictionary
{
Source = new Uri("/myApplication;component/Style/MyMessageBoxStyle.xaml", UriKind.RelativeOrAbsolute)
};
System.Windows.Style defaultMessageBoxStyle = (System.Windows.Style)myResourceDictionary["DefaultMessageBoxStyle"];
return defaultMessageBoxStyle;
}
}
然后我可以在調用 MessageBox 時應用該樣式
MessageBoxResult result = MessageBox.Show("text", "title", MessageBoxButton.YesNoCancel, MyMessageBoxStyle );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.