我正在尝试将图表轴标签的边距绑定到属性。
我认为这将是以下代码的简单情况(它没有绑定工作)。
XAML
<DVC:LinearAxis Orientation="X" Interval="0.5" ShowGridLines="True">
<DVC:LinearAxis.AxisLabelStyle>
<Style TargetType="{x:Type DVC:AxisLabel}">
<Setter Property="Margin" Value="{Binding LabelMargin}" />
</Style>
</DVC:LinearAxis.AxisLabelStyle>
</DVC:LinearAxis>
查看模型
private Thickness _labelMargin;
public Thickness LabelMargin
{
get { return _labelMargin; }
set { SetPropertyAndNotify(ref _labelMargin, value); }
}
这对保证金没有影响,对于我做错了什么想法?
编辑:我在输出窗口中收到以下错误
System.Windows.Data错误:40:BindingExpression路径错误:'object'''Double'(HashCode = 1072693248)'上找不到'LabelMargin'属性。 BindingExpression:路径= LabelMargin; DataItem ='Double'(HashCode = 1072693248); target元素是'NumericAxisLabel'(Name =''); target属性是'Margin'(类型'Thickness')
这样的事情怎么样:
<DVC:LinearAxis Orientation="X" Interval="0.5" ShowGridLines="True">
<DVC:LinearAxis.AxisLabelStyle>
<Style TargetType="{x:Type DVC:AxisLabel}">
<Setter Property="Margin" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DVC:LinearAxis}}, Path=DataContext.LabelMargin}" />
</Style>
</DVC:LinearAxis.AxisLabelStyle>
</DVC:LinearAxis>