2012-11-19 96 views
0

我想创建一个上下文菜单,我已经在我的XAML中有工作按钮,虽然我不知道如何将它转换为C#来创建我的上下文菜单。我不知道如何DataSource和DataContextProxy工作,这里是一片我的工作代码,我不明白DataSource和DataContextProxy

<sr:Button Text="Deactivate" Size="Medium" SmallImage="/Fsc.Feenics.Clients.Silverlight2;component/Images/16/deactivate.png" Command="{Binding Path=DataSource.DeactivateCardCommand, Source={StaticResource DataContextProxy}}" CommandParameter="{Binding}" Visibility="{Binding Active, Converter={StaticResource VisibleIfTrue}}" /> 

这是我试图把它翻译成C#我的上下文菜单

contextMenu.Items.Add(new MenuItem { Header = "Deactivate", Command = new RelayCommand<Guid>((x) => localContext.DeactivateCard(x)), CommandParameter = objectInfo.Id }); 

我不知道在哪里把DataSource/DataContextProxy放在我的C#中,如果有人可以给我任何建议或解释它是如何工作的,它会大大地增加,

回答

0

我不确定你是否理解xaml,所以我将从头开始解释......

您的按钮命令绑定到具有x:键“DataConextProxy”的类StaticResource对象。

这个对象是暴露一个属性的类:数据源

这DataSource对象是暴露的命令类:DeactivateCardCommand

从DataContextProxy的名字,我将承担约this

Bascially只是使用相同的绑定命令,相同的绑定路径创建菜单项,它会很好...