Q:

Change application wide style in XAML

I have a Style for Buttons for my whole application that looks like this:
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
some style code here
</Style>

It does affect every button that is used like that:
<Button />

But when I want to alter one specific button like this:
<Button>
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Visibility" Value="Visible"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding SomeBoolean}" Value="false">
                    <Setter Property="Visibility" Value="Hidden"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

it get's the windows standard style.

A:

You are missing a BasedOn attribute:
<Button>
    <Button.Style>
        <Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
            <Setter Property="Visibility" Value="Visible"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding SomeBoolean}" Value="false">
                    <Setter Property="Visibility" Value="Hidden"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

