Использование .NET 4.7.1 WPF с MahApps 1.6.1.4. Я связываю HamburgerMenuIconItem.Icon следующим образом:
<controls:HamburgerMenuIconItem.Icon>
<Ellipse">
<Ellipse.Fill>
<ImageBrush ImageSource="{Binding Image}" />
</Ellipse.Fill>
</Ellipse>
</controls:HamburgerMenuIconItem.Icon>
В режиме «Дизайн» я могу щелкнуть правой кнопкой мыши «Изображение» и перейти к свойству в моей ViewModel, которое является UserControl.DataContext. Как и ожидалось.
Но во время выполнения это завершается ошибкой:
System.Windows.Data Error: 40 : BindingExpression path error: 'Image' property not found on 'object' ''HamburgerMenuIconItem' (HashCode=44346036)'. BindingExpression:Path=Image; DataItem='HamburgerMenuIconItem' (HashCode=44346036); target element is 'ImageBrush' (HashCode=21345065); target property is 'ImageSource' (type 'ImageSource')
Итак, во время выполнения он пытается привязать свойство к «HamburgerMenuIconItem» или как? Я могу принудительно привязать к коду просмотра, как это:
{Binding Path=Image, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}
, который также работает во время выполнения, но я хотел бы, чтобы это свойство было в моей ViewModel.
Что я неправильно понимаю?