我有一个控件,在该控件上是一个名为SaveToClipboardCommand的命令。我想将一个上下文菜单项命令绑定到该命令,以便当我单击它时,执行复制到剪贴板命令。从上下文菜单项绑定到父控件
<Control x:Name="Control">
<Control.ContextMenu>
<ContextMenu>
<MenuItem Command={"Bind to SaveToClipboardCommand here"} Header="Some Header" />
</ContextMenu>
</Control.ContextMenu/>
</Control>
控制(为了讨论起见)的定义如下:
partial class Control
{
private ICommand _saveToClipboard;
public ICommand SaveToClipboardCommand
{
get
{
if (_saveToClipboard == null)
{
_saveToClipboard = new RelayCommand(
x=> SaveToClipboard());
}
return _saveToClipboard;
}
}
}
我已经使用基于的RelativeSource和的ElementName绑定尝试,但都失败了。我正试图做甚至可能吗?
谢谢!
你试过了什么RelativeSource?你尝试过FindAncestor吗? – 2010-10-07 15:12:31
'{Binding RelativeSource = {RelativeSource Mode = FindAncestor,AncestorType = {x:Type Control}},Path-SaveToClipboardCommand} – TerrorAustralis 2010-10-07 22:33:52
您是否试图将控件的上下文菜单绑定到控件中定义的命令?如果是这样,那么你应该在该控件的XAML中进行绑定,并将其DataContext设置为'this'。如果你绑定到'Control'类范围之外的命令成员,那么DataContext应该有它,以便它被解析。 – whoisthis 2010-10-17 16:43:22