MahApps - How to disable automatic uppercase of default button

后端 未结 2 540
清酒与你
清酒与你 2021-02-14 02:39

I have started to introduce MahApps.Metro (really awesome) in my WPF application and my favorite button is the default. The problem is that it puts all my text

相关标签:
2条回答
  • 2021-02-14 02:50

    If you apply the answer of ImaBrokeDude to your App.xaml, it will work for all the buttons in any window of your project.

    <Application 
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro">
    <Application.Resources>
        <ResourceDictionary>
            <Style TargetType="{x:Type Button}" 
                       BasedOn="{StaticResource {x:Type Button}}">
                <Setter Property="controls:ButtonHelper.PreserveTextCase" Value="True"/>
            </Style>     
        </ResourceDictionary>       
    </Application.Resources>
    

    0 讨论(0)
  • 2021-02-14 02:59

    You can override the default value by setting the property for all buttons in Window.Resources

        <controls:MetroWindow
        ...
        xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
            <Window.Resources>
                <ResourceDictionary>
                    <Style TargetType="{x:Type Button}" 
                           BasedOn="{StaticResource {x:Type Button}}">
                        <Setter Property="controls:ButtonHelper.PreserveTextCase" Value="True"/>
                    </Style>
                </ResourceDictionary>
            </Window.Resources>
            <Grid>
                 <!-- This would have normally made the text uppercase if not for the style override -->
                 <Button Content="Button"/>
            </Grid>
        </controls:MetroWindow>
    

    Omitting the x:Key setting causes the style to be applied to all buttons in this MetroWindow.

    0 讨论(0)
提交回复
热议问题