Поэтому, основываясь на вашем комментарии, я бы заподозрил, что привязка не работает, потому что в месте, где вы пытаетесь выполнить привязку, нет DataContext
.
Ваша виртуальная машина не является FrameworkElement
, поэтому она имеетнет свойства DataContext
, предположительно, оно также не Freezable
(и, следовательно, может также отсутствовать контекст наследования), поэтому я подозреваю, что это не сработает.(Кстати, ElementName
и RelativeSource
тоже не будут работать)
Я предлагаю вам по-другому к этому подходить, также я не рекомендую использовать DP в виртуальных машинах из-за привязки к потоку и другихпроблемы.
Вот одна жемчужина обходного пути:
<DataTemplate>
<local:ServerGroupControl Name="sgc">
<local:ServerGroupControl.Resources>
<local:ServerGroupControlViewModel x:Key="context"
System="{Binding Parent.DataContext, Source={x:Reference sgc}}" />
</local:ServerGroupControl.Resources>
<local:ServerGroupControl.DataContext>
<StaticResource ResourceKey="context" />
</local:ServerGroupControl.DataContext>
</local:ServerGroupControl>
</DataTemplate>
Да, пожалуйста, не делайте этого ...