我正在尝试将图表轴标签的边距绑定到属性。
我认为这是下面代码的简单情况(无需绑定即可工作)。
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路径错误:在“对象”“ Double”(HashCode = 1072693248)”上找不到“ LabelMargin”属性。 BindingExpression:Path = LabelMargin; DataItem ='Double'(HashCode = 1072693248);目标元素是'NumericAxisLabel'(Name ='');目标属性是“保证金”(类型为“厚度”)
答案 0 :(得分:1)
那这样的事情呢?
<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>