如何在其ResourceDictionary
內綁定到UserControl
的屬性?我希望對象我在資源聲明具有相同DataContext
作爲UserControl
它包含在:從ResourceDictionary中綁定到祖先
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Some.Namespace"
DataContext="{Binding Path=ViewModel, RelativeSource={RelativeSource Self}}">
<UserControl.Resources>
<local:SomeClass
x:Key="SomeClass"
DataContext="{Binding Path=DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" />
</UserControl.Resources>
</UserControl>
在運行時出現錯誤:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='UserControl', AncestorLevel='1''. BindingExpression:Path=DataContext; DataItem=null; target element is 'SomeClass' (Name=''); target property is 'DataContext' (type 'Object')
設置在DataContext直接在代碼隱藏的工作原理,但我想要XAML溶液... ((SomeClass的)this.Resources [ 「SomeClass的」])的DataContext =視圖模型。 –
我認爲繼承上下文可能會影響這個問題... http://blogs.msdn.com/nickkramer/archive/2006/08/18/705116.aspx –