În mod apropriat atunci când utilizatorii fac clic dreapta în aplicația noastră WPF și folosesc tema Windows Classic, implicit ContextMenu din TextBox (care conține Copy, Cut și Paste) are un fundal negru.
Știu că funcționează bine:
Dar acest lucru nu merge:
Știe cineva cum să modeleze sau să dezactiveze ContextMenu implicit pentru toate casetele de text din WPF?
Încercați să eliminați atributul x: Key din resursa Style, lăsând TargetType. Știu că ar trebui să aveți acel x: Cheie pentru o resursă, dar dacă o aveți împreună cu tipul dvs. de țintă, predomină cheia.
Iată un exemplu de stil pe care îl folosesc într-un proiect pentru a derula toate tooltipurile într-una din aplicațiile mele (aceasta este în App.Resources - notiță, nu Key)
Nu contează, dacă nu furnizați o cheie, va folosi codul TargetType
ca cheia exact așa cum exemplul meu folosește :)
Luat de la MSDN pe stil:
Setting the
TargetType
property to theTextBlock
type without setting anx:Key
implicitly sets thex:Key
to{x:Type TextBlock}
. This also means that if you > > give the above Style anx:Key
value of anything other than{x:Type TextBlock}
, the Style would not be applied to all TextBlock elements automatically. Instead, you need to apply the style to theTextBlock
elements explicitly.
http://msdn.microsoft.com/en- ne/biblioteca/system.windows.style.targettype.aspx
Pentru stilul ContextMenu pentru toate casetele de text, aș face ceva de genul:
First, in the resources section, add a ContextMenu which you plan to use as your standard ContextMenu in a textbox.
e.g.
În al doilea rând, creați un stil pentru casetele dvs. de text, care utilizează resursele din meniul contextual:
În cele din urmă, utilizați caseta de text ca de obicei:
Dacă, în schimb, doriți să aplicați acest meniu contextual numai câtorva casete text, nu creați stilul de mai sus și adăugați următoarele în marcajele TextBox:
Sper că acest lucru vă ajută!
Datorită unui raport de eroare târziu, am descoperit că nu putem folosi aplicația Aplicații de tăiere și copiere directă într-o aplicație parțială de încredere. Prin urmare, utilizarea acestor comenzi în orice Comandă a controalelor dvs. nu va face absolut nimic atunci când este executată.
Deci, în esență, răspunsul lui Brads a fost aproape acolo, cu siguranță că a privit corect drumul, adică nu avea fundal negru, dar nu a rezolvat problema.
Am decis să "eliminăm" meniul pe baza răspunsului lui Brads, după cum urmează:
Și utilizați acest meniu contextual gol astfel:
Bizar. ContextMenu = "{x: Null}"
nu face truc.
Cu toate acestea,