Posiadam kontrolę, w przypadku tej kontroli jest to polecenie o nazwie SaveToClipboardCommand. Chcę powiązać polecenie elementu menu kontekstowego z tym poleceniem, aby po jego kliknięciu wykonywał polecenie kopiowania do schowka.Powiązanie elementu menu kontekstowego z formantem nadrzędnym
<Control x:Name="Control">
<Control.ContextMenu>
<ContextMenu>
<MenuItem Command={"Bind to SaveToClipboardCommand here"} Header="Some Header" />
</ContextMenu>
</Control.ContextMenu/>
</Control>
Kontrola (czysto teoretycznie) jest zdefiniowana następująco:
partial class Control
{
private ICommand _saveToClipboard;
public ICommand SaveToClipboardCommand
{
get
{
if (_saveToClipboard == null)
{
_saveToClipboard = new RelayCommand(
x=> SaveToClipboard());
}
return _saveToClipboard;
}
}
}
Próbowałem za pomocą wiązań RelativeSource i ElementName opartych ale oba są niepowodzeniem. Czy to, co próbuję zrobić, nawet możliwe?
Dzięki!
Co próbowałeś użyć RelativeSource? Czy próbowałeś FindAncestor? –
'{Wiążący RelativeSource = {Tryb RelativeSource = FindAncestor, AncestorType = {x: Kontrola typu}}, Path-SaveToClipboardCommand}' – TerrorAustralis
Czy próbujesz powiązać z menu kontekstowego formantu polecenie zdefiniowane w formancie? Jeśli tak, powinieneś wykonać powiązanie w XAML tej kontrolki i ustawić jej DataContext na "this". Jeśli łączysz się z członkiem polecenia poza zakresem klasy "Control", to DataContext powinien go mieć, aby został rozwiązany. – whoisthis