簡體   English   中英

在Mahapps Metro對話框中覆蓋按鈕的樣式

[英]Overwrite button's style in a Mahapps Metro dialog

我想用自定義對話框重寫Mahapps Metro對話框中按鈕的顏色(而不是使用強調顏色)。 我最想更改單擊時顯示的按鈕的顏色。 這是單擊按鈕時的默認樣式。

App.xaml中:

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Crimson.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml"/>
<ResourceDictionary Source="Styles.xaml" />

MainWindow.xaml:

<Grid>
    <Button
        Content="Open Metro Dialog"
        Click="Button_Click"
        Style="{StaticResource ButtonStyle}"
        />
</Grid>

MainWindow.xaml.cs

public partial class MainWindow : WindowBase
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
        MessageDialogResult dialogResult = await this.ShowMessageAsync("Close window", "Are you sure you want to close the window?", MessageDialogStyle.Affirmative);

        if (dialogResult == MessageDialogResult.Affirmative)
        {
           this.Close();
        }
    }
}

到目前為止我嘗試過的是:

  1. 用自定義鍵重寫“ BlackBrush”鍵(此鍵用作按鈕的背景色)的Mahapps Metro顏色;
  2. 重寫按鈕的控制模板。

有什么辦法可以做到這一點?

您需要使用Metro對話框控件的樣式。 你可以在這里找到它。 要使用它,添加

xmlns:Dialogs="clr-namespace:MahApps.Metro.Controls.Dialogs;assembly=MahApps.Metro"

然后繼續按照這個答案這個答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM