Привязка к марже как установочное значение стиля - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь привязать поле меток оси диаграммы к свойству.

Я думал, что это будет простой случай кода ниже (он работает без привязки).

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: свойство 'LabelMargin' не найдено в 'объекте' '' Double '(HashCode = 1072693248)'. BindingExpression: Path = LabelMargin; DataItem = 'Double' (HashCode = 1072693248); целевым элементом является NumericAxisLabel (Name = ''); целевое свойство 'Маржа' (тип 'Толщина')

1 Ответ

0 голосов
/ 03 сентября 2018

Что-то вроде этого:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...