In my WPF UserControl I have this resource, please observe the comments in the Xml sample.
I recreated similar setting as you and it did not work for me either. Curiously there are no binding errors. I did relativesource binding too and it didnt work.
Although if I bind tooltip
<ContentPresenter ToolTip="{Binding XAxisLabelRotation,
RelativeSource={RelativeSource
AncestorType={x:Type ContentControl}},
UpdateSourceTrigger=PropertyChanged}" ..>
shows the tooltip to me. So I changed the rotate transform,
<RotateTransform Angle="{Binding XAxisLabelRotation,
RelativeSource={RelativeSource
AncestorType={x:Type ContentControl}},
UpdateSourceTrigger=PropertyChanged}" ..>
But still the transform did not work. Still no binding errors.
Then I introduced a dummy converter ...
public class AngleConverter : IValueConverter
{
public object Convert(...)
{
return value;
}
....
}
<RotateTransform Angle="{Binding XAxisLabelRotation,
RelativeSource={RelativeSource
AncestorType={x:Type ContentControl}},
UpdateSourceTrigger=PropertyChanged,
Converter={StaticResource AngleConverter}}" ..>
and it worked miraculously!!!
Unexplanable world of WPF???
Is the DataContext
correct? If this rotation is part of the Content
you bound to earlier you either need to change the DataContext
or add that to the binding path of the rotation, i.e. make it {Binding Content.XAxisLabelRotation}
.
Do you know how to debug bindings? As you did not present any binding errors i would assume you do not, so if this is the case please read this article and make sure that you do provide the errors if you cannot debug a binding yourself in the future.
You need to bind the angle like this:
<RotateTransform Angle="{Binding Path=FontSize, RelativeSource={RelativeSource TemplatedParent}}"/>
Source