2013-12-20 14 views
0

我有一個ItemsControl使用一個DataTemplate它位於外部ResourceDictionary.xaml訪問的父母在外部XAML文件

<ResourceDictionary ... > 
    <DataTemplate x:Key="My_UserControl"> 
    <local:MyUserControl/> 
</DataTemplate> 

MyUserControl.xaml文件:

<UserControl ...> 
    <Button Content="{Binding Path=Test, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"/>   
<UserControl/>` 

MainWindow.xamlItemsControl中使用該模板。 與UserControl中窗口的綁定不起作用。

我如何從一個外部文件這樣UserControl到任何父綁定,使用RelativeSource所以它的工作原理?

感謝

回答

1

嘗試

<Button Content="{Binding Path=DataContext.Test, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"/> 
+0

不,它似乎並沒有工作。 我不認爲'UserControl'在窗口的可視化樹中。 –

+0

我錯了。 'VisualTreeHelper'設法將窗口返回爲最上面的父窗口。但綁定仍然不起作用。 –

+1

我不知道爲什麼,但它開始工作...哎... 無論哪種方式,您的標記是正確的。 –