Przegląd obsługi zachowań
BehaviorService Zarządza interfejs użytkownika w oknie projektanta.Udostępnia jednolity sposób do manipulowania elementy interfejsu użytkownika, takie jak zdarzenia związane z myszy, polecenia menu i operacji przeciągania i upuszczania OLE w czasie projektowania.
Zarządzanie interfejsu użytkownika w czasie projektowania
Kluczowym aspektem tworzenia niestandardowych doświadczenie w czasie projektowania jest zarządzanie interfejsu użytkownika.Aby zapewnić doświadczenia podczas projektowania formantu niestandardowego, należy tworzenia niestandardowych projektanta.
Jako projektant developer, można utworzyć własne użytkownika warstwy interfejsu, o nazwie adorners.W ramach każdej z powierzchni warstwy można tworzyć swoje własne Glyph typów do malowania, przeciągając i innych operacji interfejsu użytkownika.Każdy Glyph może mieć skojarzony Behavior typu.A Behavior jest klasa, która ma overloads wszystkich wprowadzania przez użytkownika, w tym poleceń menu, ruchy myszy i operacji przeciągania i upuszczania OLE.Behaviormożna również dodawać obiekty niezależnie od Glyph obiekt, tak aby one można hook do ogólnych danych wejściowych użytkownika dla całej projektanta.Wszystkie trzy funkcje wymienione powyżej są implementowane przy użyciu Behavior typu.
[!UWAGA]
Należy dodać odwołanie do zestawu czasu projektowania, System.Design.dll.Ten moduł nie jest dołączony do.NET Framework 4 profilu klienta.Aby dodać odwołanie do System.Design.dll, należy zmienić projektu docelowego ramy do .NET Framework 4.
W .NET Framework w wersji 1.1, niektóre zdarzenia, takie jak OnMouseDragBegin, były udostępniane przez ControlDesigner klasy.W tym modelu, znaczna część logiki Projektant interfejsu użytkownika jest zaimplementowana w EventHandler.Ponieważ istnieje kilka wyznaczonych obszarach kontroli, którą użytkownik może operować, model ten wymagane napisanie mnóstwo uzupełniających logikę.
Behavior Typu adresy z tej sytuacji.BehaviorService Składa się z dwóch części.W poniższej tabeli przedstawiono części wraz z opisami każdego.
Część |
Opis |
---|---|
Stos z Behavior klas |
Każda klasa ma metody związane z poleceń menu, operacji przeciągania i upuszczania OLE, zdarzenia myszy i tak dalej.Klasa na górze stosu jest aktywny Behavior, wszystkich użytkowników i danych wejściowych jest kierowany do tego Behavior. |
Adorner Jest niewidoczną warstwą między powierzchni projektu i użytkownika.Adorner Może zawierać Glyph obiektów, które są lekkie świadczonych obiektów.A Glyph mogą być badane hit przez usługę zachowanie i opcjonalnie może narazić Behavior obiekt, który staje się aktywny Behavior dla tak długo, jak Glyph sprawozdania true z jego testu trafienia. |
Podczas gdy Projektant Windows Forms nadal obsługuje oryginał ControlDesigner przesłonięcia drags i myszy przenosi, działania te są implementowane jako Behavior obiektów.W poniższej tabeli przedstawiono elementy w oknie projektanta dla prostych formantu, który ma normalnym zestawem przeciągnij uchwyty.
Zachowanie elementu |
Opis |
---|---|
Wybór Adorner |
Warstwy ozdoby pojedynczy uchwyty zaznaczenia wszystkich interfejsu użytkownika Glyph obiektów. |
Organ glifów |
Organ całkowicie przezroczysty Glyph znajduje się ponad górną krawędzią formantu.Zachowanie jego uchwyty wszystkich interakcji myszy. |
Chwyć glifów |
Chwyć Glyph obiekty rysowania uchwytów do celów kontroli.Ich Behavior kontroli operacji przeciągania obiektów. |
Rozszerzenie interfejsu użytkownika w czasie projektowania
BehaviorService Modelu umożliwia dostęp do nowych funkcji można łatwo wzorowany na istniejący interfejs użytkownika projektanta.Nowy interfejs użytkownika pozostaje niezależny od innych uprzednio zdefiniowane Glyph i Behavior obiektów.Na przykład tagi inteligentne w niektóre formanty są używane przez Glyph w prawej prawym górnym rogu formantu ().
Kod tag inteligentny tworzy własny Adorner warstwy, a następnie dodaje Glyph obiekty do tej warstwy.Dzięki temu tag inteligentny Glyph obiektów oddzielić od zaznaczenia Glyph obiektów.Kod konieczne dodanie nowego Adorner do Adorners kolekcji jest prosta.
behaviorService = (BehaviorService)serviceProvider.GetService(typeof(BehaviorService));
designerActionAdorner = new Adorner();
behaviorService.Adorners.Add(designerActionAdorner);
Glyph dag = new DesignerActionGlyph(/*...*/);
designerActionAdorner.Glyphs.Add(dag);
Glify i zachowania
Glyph Typu jest proste.Jeśli konieczne jest bardzo złożone funkcje, można ją dodać do własnej klasy pochodne Glyph.
Glyphobiekty mogą mieć Behavior obiektów, ale nie są wymagane.A Glyph bez Behavior obiektów ma Behavior właściwość, która zwraca null.
A Behavior została metoda dla każdego obsługiwane interakcji z użytkownikiem.Na przykład bazy Behavior klasa ma metody obsługi operacji przeciągania i upuszczania, takich jak OnDragEnter i OnGiveFeedback.
Większości metod zwraca wartość logiczną wskazującą, czy zdarzenie został obsłużony.Przeciągnij zdarzenia mają wartość DragEventArgs parametru.Poszczególnych elementów menu można dodać lub usunąć, przywracając je z FindCommand metody.FindCommand Metoda działa w połączeniu z DisableAllCommands właściwość, aby określić, jak MenuCommand obiektów interakcji z zachowaniem.
Adorners
Adorner Można przeglądać jako serwer proxy między interfejsu użytkownika powiązanych elementów, które składają się z Glyph obiektów oraz BehaviorService.
Każdy Adorner może być włączone i wyłączone.Włączony tylko Adorner obiekty otrzymają trafień badania oraz zaczniesz malować wiadomości z BehaviorService.
Gdy Adorner dodaje się do BehaviorServiceAdornerCollection z BehaviorService, zestawy kolekcji BehaviorService właściwości tak, aby Adorner wywołania zwrotnego, aby BehaviorService.
Wywołanie Adorner obiektu Invalidate metoda wymusza skojarzonego BehaviorService do odświeżania Adorner okno
Pchania zachowania
Najłatwiejszy sposób na dodanie Behavior obiektów na stosie zachowanie jest za pomocą Glyph obiektów, ale nie jest to jedyny sposób.GlyphWypychanie mogą same obiekty Behavior stos obiektów na zachowanie i może również push Behavior obiektów bezpośrednio na stosie zachowanie.Należy wziąć pod uwagę w przypadku, w którym chcesz przeciągnąć uchwyt Przechwyć wokół powierzchni projektu.Zamiast możesz pisania logiką, służący do śledzenia, podczas przeciągania jest użytkownik Glyph sobie wykonuje następujące akcje w sekwencji z stosu zachowanie.
Po naciśnięciu przycisku myszy, Glyph umieszcza nowy Behavior na stosie zachowanie.To Behavior uchwyty zdarzeń myszy przenieś i myszy w górę.Może także wyłączyć wszystkie polecenia menu tak, że nie ma możliwości dla skrótów klawiaturowych lub innych poleceń, które występują na czas trwania przeciągania.
Po zwolnieniu przycisku myszy Behavior Kończenie znajdujących się w przypadku gestu odpowiadającego przepływu i POP sobie wyłączyć ze stosu zachowanie.Ten automatycznie przywraca poprzedni Behavior.
[!UWAGA]
BehaviorService Architektury jest związany z modelu Windows Forms i dlatego nie obsługuje inne technologie wyświetlania, takich jak formularze sieci Web.