olarak geçirme Şu anda üzerinde bulunduğum pencereyi bir komut olarak nasıl geçirebilirim?Geçerli Pencereyi CommandParameter
ben XAML-biçimlendirme bunu yapmak istiyorum:
<Button Command="CommandGetsCalled" CommandParameter="-this?-" />
olarak geçirme Şu anda üzerinde bulunduğum pencereyi bir komut olarak nasıl geçirebilirim?Geçerli Pencereyi CommandParameter
ben XAML-biçimlendirme bunu yapmak istiyorum:
<Button Command="CommandGetsCalled" CommandParameter="-this?-" />
Bunu yapmak düşünmek arasında iki yolu vardır: o zaman Window
etiketi üzerinde x:Name
niteliği yoluyla penceresi bir ad (verin ve böyle bir bağlayıcı oluşturmak (pencerenin adını varsayar 'ThisWindow' dir):
<Button Command="CommandGetsCalled" CommandParameter="{Binding ElementName=ThisWindow}" />
, bağlama böyle inşa edilebilir :
<Button Command="CommandGetsCalled" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}" />
bana gösterebilir misiniz? – CeOnSql
parametre olarak Düğmesi geçmek istiyorsanız Bir RelativeSource
için bağlayıcı deneyebilirsiniz:
<Button Command="CommandGetsCalled"
CommandParameter="{Binding RelativeSource={RelativeSource Self}}" />
parametre olarak Pencere geçmek isterseniz:
<Button Command="CommandGetsCalled"
CommandParameter="{Binding RelativeSource={
RelativeSource AncestorType={x:Type Window}}}" />
Teşekkür ederim Rachel. Senin ve Daniel Pratt'ın çözümlerine baktım. Aslında oldukça benzerler. Ama ben onun cevabı olarak işaretleyeceğim, çünkü Pencereye ismiyle erişme fikrini beğeniyorum. – SwissCoder
'Button'ı parametre örneği olarak kullanmaya çalıştığımda' Belirtilen Visual, başka bir Visual'in veya bir CompositionTarget öğesinin köküdür 'alıyorum. herhangi bir fikir? – Maslow
Ben ') (.dump' bunu göstermek wpf ediyorum LinqPad' 'yoluyla' canExecute' düğmesini çalışıyordu yüzünden olduğunu öğrendim – Maslow
Durumumda verilen cevaplardan hiçbiri işe yaramadı.
Bu
benim için çalıştı:<window x:Name="myWindow">
<Button Command="Command" CommandParameter={x:Reference Name=myWindow}/>
</window>
Neden? XAML'de bildiğim kadarıyla "bu" notasyonu yok. Ayrıca, bu durumda 'bu durumda muhtemelen düğme olacaktır. Ne yapmaya çalışıyorsun? –
-ile-bu içeren Window nesnesini kastediyorum. Başlıkta ve metinde, pencereyi geçmek istediğimi yazıyorum. Rachel ve Daniel Pratt gösterinin cevapları gibi, onun yeterince açık; bu ViewModel nasıl olabileceğiyle) – SwissCoder