This is perhaps a rather silly “problem”. I have a CheckBox on my page in a WPF application. When I set the Content-property of the CheckBox to “CheckBox Content” for example, the box itself is placed left from the text. When I set the FlowDirection “RightToLeft” the text is placed left and the box on the right, as you can see in following image:

So far so sgood, right?
Now I change the Content to “CheckBox Content :” (note the colon) and the FlowDirection “LeftToRight”, everything still looks normal: box – text – colon. Now comes the silly stuff… I set the the FlowDirection to “RightToLeft” to have the text first and then the box, but the colon is placed completely on the left, see this image:

Not that I cannot solve this, but I have to go in the XAML file to change the tag to:
<CheckBox Content=" : CheckBox Content" />
No offence, but this is pretty ridiculous because when I now change the FlowDirection back to LeftToRight, the order is box – colon – text.
My question is, does anyone have any idea what causes this? Or is this supposed to happen? And are there other controls where this might happen?
Its doing what your telling it. I think you are confused on what FlowDirection really is. FlowDirection really should only be used for Right to Left languages. Languages like Arabic and Hebrew read opposite as us. They read right to left so naturally the “.” would be at their end of the sentence which is the leftmost character.
WPF (and other Microsoft frameworks) are smart enough to understand your application, computer, and threads are all in English so they will override the RightToLeft (well almost) but not the punctuation.
If you want your CheckBox to be on the other side (and it to be don’t correctly) you will have to write your own template.