Denetime sahibim, bu denetimde SaveToClipboardCommand adlı bir komut var. Bir bağlam menü öğesi komutunu bu komutla bağlamak istiyorum, böylece tıklattığımda, panoya kopyala komutu çalıştırılır.Bağlam menü öğesinden ana denetim öğesine bağlanma
<Control x:Name="Control">
<Control.ContextMenu>
<ContextMenu>
<MenuItem Command={"Bind to SaveToClipboardCommand here"} Header="Some Header" />
</ContextMenu>
</Control.ContextMenu/>
</Control>
(argüman uğruna) kontrol, bu aşağıdaki gibi tanımlanır:
partial class Control
{
private ICommand _saveToClipboard;
public ICommand SaveToClipboardCommand
{
get
{
if (_saveToClipboard == null)
{
_saveToClipboard = new RelayCommand(
x=> SaveToClipboard());
}
return _saveToClipboard;
}
}
}
I RelativeSource ve ElementName göre bağları kullanarak denedi, ancak her ikisi de başarısız. Mümkün olanı yapmaya çalışıyorum mı?
Teşekkürler!
Ne RelativeSource denediniz? FindAncestor'ı denedin mi? –
'{Binding RelativeSource = {RelativeSource Mode = FindAncestor, AncestorType = {x: Type Control}}, Path-SaveToClipboardCommand}' – TerrorAustralis
Bir denetimin içerik menüsüne, denetim içinde tanımlanan bir komutla bağlanmaya çalışıyor musunuz? Eğer öyleyse, o kontrolün XAML'sinde bağlamayı yapmalı ve DataContext'ini 'bu' olarak ayarlamalısınız. Komut üyesine 'Denetim' sınıfı kapsamı dışında bağlanıyorsanız, DataContext'in çözüme kavuşturulacak şekilde olması gerekir. – whoisthis