Хорошо, у меня есть относительно сложная проблема. Я пытаюсь создать окно в WPF. Основным элементом в этом окне является DataGrid. Каждая из строк в DataGrid имеет элемент DetailsPane, который я устанавливаю с помощью DataGrid.RowDetailsTemplate. В зависимости от определенных значений, специфичных для строки, мне нужна панель сведений для отображения разных элементов. Для этого я поместил ContentControl в корень DataTemplate и использовал стиль с DataTriggers, чтобы установить его свойство Content. Теперь внутри один из этих Setters - это ComboBox. Этот ComboBox должен иметь свой ItemsSource, привязанный к списку, который хранится в свойстве зависимости на уровне Window (потому что его тот же список независимо от строки). Ниже приведен упрощенный вариант того, что я смотрю на:Связывание в Style Setter в DataTemplate WPF
<Window>
...
<DataGrid>
...
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ContentControl>
<Style TargetType="ContentControl">
<Style.Triggers>
<DataTrigger Binding="{Binding RowSpecificBooleanProperty}" Value="False">
<Setter Property="Content">
<Setter.Value>
...
<ComboBox ItemsSource={HowDoIBindThisToTheWindowProperty}/>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</Window>
Так что я пытаюсь выяснить, как связать ItemsSource этого ComboBox свойства зависимостей окна верхнего уровня. Энди подумает, как это сделать?
EDIT:
я говорил об этом раньше, но я уже пробовал использовать {RelativeSource AncestorType = Window} и ELEMENTNAME в связывании. В обоих случаях список в ComboBox пуст во время выполнения.
RelativeSource (= Окно) (http://stackoverflow.com/questions/84278/how-do-i-use-wpf-bindings-with-relativesource) или ElementName используются в связывании обычно – ASh