我在AttachedCommandBehavior library here之後爲連接的命令模式建模。我的按鈕看起來是這樣的:WPF - 凍結在不繼承DataContext的按鈕樣式中
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="vms:Attached.Behaviors">
<Setter.Value>
<vms:Behaviors>
<vms:Behavior Event="Click"
Command="{Binding ClickCommand}" />
</vms:Behaviors>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
一切都很正常,但在執行上Behavior
設置方法時,該命令是null
。
行爲是Freezable
,行爲是FreezableCollection<Behavior>
。它似乎不是從Button繼承DataContext。
在另一方面,這正常工作:
<Button>
<vms:Attached.Behaviors>
<vms:Behavior Event="Click" Command="{Binding ClickCommand}" />
</vms:Attached.Behaviors>
</Button>
可惜我不能做這種方式,因爲我需要使用ItemContainerStyle
對象發出ListViewItem
秒。
是否有某種方法可以在樣式中獲取DataContext?
您的鏈接無效。你能編輯和修復嗎? – Robaticus 2011-02-05 21:58:35
糟糕,現在已經修好了。 – Snea 2011-02-05 22:06:04