Vinculação de itens de um UserControl com propriedade de coleção personalizada
Esta questão é uma "sequência" deessa questã (Apliquei a resposta, mas ela ainda não funcionará
Estou tentando criar um controle estendido da barra de ferramentas para um aplicativo modular, que pode carregar seus itens de várias fontes de dados (mas esse não é o problema que estou tentando resolver agora, agora quero que funcione quando usado como barra de ferramentas comum encontrada no WPF
Em resumo:Eu quero que os itens da Barra de Ferramentas possam vincular-se aos pais da tb: ToolBa
Tenho o seguinte código XAML:
<Window Name="myWindow" DataContext="{Binding ElementName=myWindow}" >
<DockPanel>
<tb:ToolBar Name="toolbar" DockPanel.Dock="Top" DataContext="{Binding ElementName=myWindow}>
<tb:ToolBar.Items>
<tb:ToolBarControl Priority="-3">
<tb:ToolBarControl.Content>
<StackPanel Orientation="Horizontal">
<TextBlock>Maps:</TextBlock>
<ComboBox ItemsSource="{Binding SomeProperty, ElementName=myWindow}">
Algumas informações sobre os tipos:
tb:ToolBar
é umUserControl
com propriedade de dependênciaItems
do tipoFreezableCollection<ToolBarControl>
.
tb:ToolBarControl
é umUserControl
com modelo praticamente idêntico a Modelo do ContentControl.
O problema é que a ligação noComboBox
falha (com o habitual "Não é possível encontrar a origem da ligação com referência"), porque o DataContext é nulo.
Por quê
EDIT: O núcleo da pergunta é "Por que o DataContext não é herdado?", Sem ele, as ligações não podem funciona
EDIT2:
Aqui está o XAML para otb:ToolBar
:
<UserControl ... Name="toolBarControl">
<ToolBarTray>
<ToolBar ItemsSource="{Binding Items, ElementName=toolBarControl}" Name="toolBar" ToolBarTray.IsLocked="True" VerticalAlignment="Top" Height="26">
EDIT 3:
Publiquei um exemplo do que funciona e do que não funciona:http: //pastebin.com/Tyt1Xtv
brigado por suas resposta