I wanted to implement a dark theme for my application and wanted to make a custom window title without an ugly white title bar. I created a custom button style for that purpose only, and it's supposed to change the foreground color to green on mouseover or when clicked.
What I ran into is that my buttons with Content property set to some text (-, square, and x for each of respective buttons) don't change foreground at all, even if I add Foreground property in the button definition, i.e. Foreground property isn't overridden.
What I set here is just a "titleless" window and a view:

It's supposed to have green foreground, but only the background gets changed.
Also, here is what happens if I change foreground color to for example Maroon:

As you can see, my "-" button stays white, which makes me think the color is overriden somewhere, but isn't on-definition property higher priority than anything in style?
I also use the same button style in another place: nesting a canvas for a player UserControl and the Foreground changes to green as I expected.
A part of a UserControl where I create a button:

Here it works as I want it to (using canvas instead of text though)
I tried doing something in the ContainerPresenter relatively connected to Foreground property, but all of the properties I usually would use for it aren't allowed there.
Here is my custom Style for these buttons:
I guess it's not the end of the world if my application won't highlight X and other buttons in the title, but I'm genuinely curious why when I use canvas it works just fine (notice that I bind the color of canvas to the foreground of the button itself, thus the button itself does change foreground color), but with text it doesn't.