MVVM 下 ContextMenu的命令绑定
生活随笔
收集整理的這篇文章主要介紹了
MVVM 下 ContextMenu的命令绑定
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:MVVM 下 ContextMenu的命令綁定
由于ContextMenu不繼承父級的DataContext,所以如果要綁定父級的DataContext,直接DataContext=“{Binding}”是行不通的。因此可通過以下兩個方式解決綁定的問題。
1、使用資源的方式
1 <Button Content="Test" Command="{Binding TestCommand}"> 2 <Button.Resources> 3 <vm:ThreeViewModel x:Key="Three"/> 4 </Button.Resources> 5 <Button.ContextMenu> 6 <ContextMenu> 7 <MenuItem Header="測試" Command="{Binding TestCommand,Source={StaticResource Three}}"/> 8 </ContextMenu> 9 </Button.ContextMenu> 10 </Button> 11?
2、利用ContextMenu的PlacementTarget屬性
<Button Content="Test" Command="{Binding TestCommand}"><Button.ContextMenu><ContextMenu><MenuItem Header="測試" Command="{Binding PlacementTarget.DataContext.TestCommand, RelativeSource={RelativeSource AncestorType=ContextMenu} }"/></ContextMenu></Button.ContextMenu></Button>?
總結
以上是生活随笔為你收集整理的MVVM 下 ContextMenu的命令绑定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: django-websocket 安装及
- 下一篇: atcoder 2643 切比雪夫最小生