0

我正在尝试创建一个上下文菜单,我的 XAML 中已经有工作按钮,尽管我不知道如何将它转换为 C# 来创建我的上下文菜单。我不明白 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# 中的哪个位置,如果有人可以给我任何建议或解释它是如何工作的,那将非常感谢,

4

1 回答 1

0

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

您的按钮命令绑定到具有 ax:key "DataConextProxy" 的类 StaticResource 对象。

该对象是一个公开属性的类:DataSource

并且该 DataSource 对象是一个公开命令的类:DeactivateCardCommand

从 DataContextProxy 的名称来看,我假设是关于this的。

基本上只需使用相同的命令绑定、相同的绑定路径创建菜单项,就可以了...

于 2012-11-19T16:14:59.760 回答