+1  A: 

To bind to Run.Text, checkout the BindableRun class by Fortes. Simple to implement, I use it all over my projects.

PortageMonkey
LOL, I found this 5 minutes ago and just implemented a solution with that :)). Thanks anyway :).
Tomáš Kafka
I found that implementing BindableRun correctly is pretty tricky - yours (and almost all other available implementations) will cause an exception from wpf layouting engine when the bound content changes from null to something non-null.Corrrect implementation from Microsoft is here - but really tricky http://msdn.microsoft.com/en-us/magazine/dd569761.aspx
Tomáš Kafka
A: 

Solution: BindableRun class + the following markup:

<TextBlock>
 <Button x:Name="MyButton" Command="{Binding Path=MyCommand}" Content="+" />
 <common:BindableRun x:Name="Subject" BindableText="{Binding Path=Subject}"/>
</TextBlock>
Tomáš Kafka
A: 

I found that implementing BindableRun correctly is pretty tricky - and almost all other available implementations will cause an exception from wpf layouting engine when the bound content changes from null to something non-null - see this problem, keyword "Collection was modified; enumeration operation may not execute."

Corrrect implementation from Microsoft is here - it shows how tricky this really is.

Tomáš Kafka