У меня есть проект WPF с меню.В одном из меню есть подпункты, динамически генерируемые путем привязки к коллекции в коде.Вот XAML для этого элемента:
<MenuItem Header="Open Files" Name="MiInsertOpen"
d:DataContext="{d:DesignInstance Type={x:Type core:DBInterface}}"
ItemsSource="{Binding InsertableDBs}">
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Header" Value="{Binding DisplayName}" />
<Setter Property="ToolTip" Value="{Binding FilePath}" />
<Setter Property="Command" Value="{Binding DataContext.CmdInsert,
RelativeSource={RelativeSource FindAncestor,
AncestorType=MenuItem, AncestorLevel=2}}" />
<Setter Property="CommandParameter" Value="{Binding FilePath}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
Все это прекрасно работает во время выполнения, и я получаю то, что ожидал, и т. Д. Контекст данных каждого подэлемента - это соответствующая БД, которую он представляет.
Однако во время разработки родительский MenuItem имеет правильно настроенный контекст данных времени разработки и распознает «IsertableDBs», но в стиле он жалуется, что не может найти «DisplayName» и другие свойства типаDBInterface (тип DataContext для родительского меню).Как мне сказать, что элементы в этом стиле должны иметь DataContext типа DB?