Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
 Arcturus
Arcturus

WPF: Cum să stil sau dezactiva ContextMenu implicit a unei casete text

Î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?

29 2008-08-13T10:05:41+00:00 5
Programare
.net-3.5
wpf
xaml
Comentarii la întrebare (0)
Will
13 august 2008 в 6:12
2008-08-13T18:12:04+00:00
Mai mult
Sursă
Editează
#9864

Î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)

 
0
0
Comentarii (0)
Arcturus
13 august 2008 в 6:23
2008-08-13T18:23:07+00:00
Mai mult
Sursă
Editează
#9878

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 the TextBlock type without setting an x:Key implicitly sets the x:Key to {x:Type TextBlock}. This also means that if you > > give the above Style an x: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 the TextBlock elements explicitly.

http://msdn.microsoft.com/en- ne/biblioteca/system.windows.style.targettype.aspx

0
0
Comentarii (0)
Brad Leach
13 august 2008 в 6:36
2008-08-13T18:36:20+00:00
Mai mult
Sursă
Editează
#9897

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ă!

0
0
Comentarii (0)
Arcturus
26 martie 2010 в 4:04
2010-03-26T16:04:21+00:00
Mai mult
Sursă
Editează
#2523372

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:


0
0
Comentarii (0)
Robin Davies
15 august 2010 в 12:15
2010-08-15T00:15:03+00:00
Mai mult
Sursă
Editează
#3484929

Bizar. ContextMenu = "{x: Null}" nu face truc.

Cu toate acestea,


    
    

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RU
© Answer-ID 2021
Sursă
https://stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire