MatrixTransform Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy dowolną transformację macierzy affine, która służy do manipulowania obiektami lub układami współrzędnymi w płaszczyźnie 2-W.
public ref class MatrixTransform sealed : System::Windows::Media::Transform
public sealed class MatrixTransform : System.Windows.Media.Transform
type MatrixTransform = class
inherit Transform
Public NotInheritable Class MatrixTransform
Inherits Transform
- Dziedziczenie
-
MatrixTransform
Uwagi
MatrixTransform Użyj klasy , aby utworzyć niestandardowe przekształcenia, które nie są udostępniane przez RotateTransformklasy , SkewTransform, ScaleTransformlub TranslateTransform .
Macierz 3x3 służy do przekształceń w płaszczyźnie 2-W x-y. Przekształcenia macierzy affine można pomnożyć w celu utworzenia przekształceń liniowych, takich jak rotacja i niesymetryczność (ścinanie), po których następuje tłumaczenie.
Przekształcenie macierzy affine ma końcową kolumnę równą (0, 0, 1); dlatego należy określić tylko elementy członkowskie w dwóch pierwszych kolumnach.
Windows Presentation Foundation (WPF) Matrix ma następującą strukturę:
| Kolumna 1 | Kolumna 2 | Kolumna 3 |
|---|---|---|
| M11 | M12 | 0 |
| M21 | M22 | 0 |
| OffsetX | OffsetY | 1 |
Elementy członkowskie w ostatnim wierszu OffsetX i OffsetY, reprezentują wartości tłumaczenia.
Metody i właściwości zwykle określają macierz przekształcania jako wektor, który ma tylko sześć elementów członkowskich; składowe są następujące:
(M11, , M12M21, M22, , OffsetXOffsetY)
Użycie atrybutu XAML
<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>
Wartości XAML
Wartość na pozycji (1, 1) przekształcenia Matrix.
Wartość na pozycji (1, 2) przekształcenia Matrix.
Wartość na pozycji (2, 1) przekształcenia Matrix.
Wartość na pozycji (2, 2) przekształcenia Matrix.
przesunięcieXSystem.Double
Wartość na pozycji (3, 1) przekształcenia Matrix.
offsetYSystem.Double
Wartość na pozycji (3, 2) przekształcenia Matrix.
Konstruktory
| Nazwa | Opis |
|---|---|
| MatrixTransform() |
Inicjuje nowe wystąpienie klasy MatrixTransform. |
| MatrixTransform(Double, Double, Double, Double, Double, Double) |
Inicjuje nowe wystąpienie MatrixTransform klasy z określonymi wartościami macierzy przekształcania. |
| MatrixTransform(Matrix) |
Inicjuje nowe wystąpienie MatrixTransform klasy z określoną macierzą przekształcania. |
Pola
| Nazwa | Opis |
|---|---|
| MatrixProperty |
Matrix Identyfikuje właściwość zależności. |
Właściwości
| Nazwa | Opis |
|---|---|
| CanFreeze |
Pobiera wartość wskazującą, czy obiekt może być niezmodyfikowalny. (Odziedziczone po Freezable) |
| DependencyObjectType |
Pobiera klasę DependencyObjectType , która opakowuje typ CLR tego wystąpienia. (Odziedziczone po DependencyObject) |
| Dispatcher |
Pobiera elementDispatcher, z który DispatcherObject jest skojarzony. (Odziedziczone po DispatcherObject) |
| HasAnimatedProperties |
Pobiera wartość wskazującą, czy co najmniej jeden AnimationClock obiekt jest skojarzony z dowolnymi właściwościami zależności tego obiektu. (Odziedziczone po Animatable) |
| Inverse |
Pobiera odwrotność tej transformacji, jeśli istnieje. (Odziedziczone po Transform) |
| IsFrozen |
Pobiera wartość wskazującą, czy obiekt jest obecnie modyfikowalny. (Odziedziczone po Freezable) |
| IsSealed |
Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu). (Odziedziczone po DependencyObject) |
| Matrix |
Pobiera lub ustawia strukturę definiującą Matrix tę transformację. |
| Value |
Pobiera wartość reprezentującą Matrix ten element MatrixTransform. |
Metody
| Nazwa | Opis |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, zostanie użyta określona HandoffBehavior wartość . (Odziedziczone po Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, SnapshotAndReplace używane jest zachowanie przekazywania. (Odziedziczone po Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, zostanie użyta określona HandoffBehavior właściwość. (Odziedziczone po Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, SnapshotAndReplace używane jest zachowanie przekazywania. (Odziedziczone po Animatable) |
| CheckAccess() |
Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
| ClearValue(DependencyProperty) |
Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator. (Odziedziczone po DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez DependencyPropertyKeyelement . (Odziedziczone po DependencyObject) |
| Clone() |
Tworzy zmodyfikowaną kopię tego MatrixTransform elementu, tworząc głębokie kopie jego wartości. |
| CloneCore(Freezable) |
Tworzy wystąpienie klona (kopii głębokiej) określonego Freezable przy użyciu wartości właściwości base (nie animowanych). (Odziedziczone po Freezable) |
| CloneCurrentValue() |
Tworzy modyfikowalną kopię tego MatrixTransform obiektu, tworząc głębokie kopie jego wartości. Ta metoda nie kopiuje odwołań do zasobów, powiązań danych ani animacji, chociaż kopiuje bieżące wartości. |
| CloneCurrentValueCore(Freezable) |
Sprawia, że wystąpienie jest modyfikowalnym klonem (kopia głęboka) określonego Freezable przy użyciu bieżących wartości właściwości. (Odziedziczone po Freezable) |
| CoerceValue(DependencyProperty) |
Przekształca wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject. (Odziedziczone po DependencyObject) |
| CreateInstance() |
Inicjuje nowe wystąpienie klasy Freezable. (Odziedziczone po Freezable) |
| CreateInstanceCore() |
Po zaimplementowaniu w klasie pochodnej tworzy nowe wystąpienie klasy pochodnej Freezable . (Odziedziczone po Freezable) |
| Equals(Object) |
Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu . (Odziedziczone po DependencyObject) |
| Freeze() |
Sprawia, że bieżący obiekt jest niezmodyfikowalny i ustawia jego IsFrozen właściwość na |
| FreezeCore(Boolean) |
Sprawia, że ten Animatable obiekt jest niezmodyfikowalny lub określa, czy można go niemodyfikować. (Odziedziczone po Animatable) |
| GetAnimationBaseValue(DependencyProperty) |
Zwraca nie animowaną wartość określonego DependencyPropertyelementu . (Odziedziczone po Animatable) |
| GetAsFrozen() |
Tworzy zamrożoną kopię obiektu Freezableprzy użyciu wartości właściwości base (nie animowanych). Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie. (Odziedziczone po Freezable) |
| GetAsFrozenCore(Freezable) |
Powoduje, że wystąpienie jest zamrożonym klonem określonej Freezable wartości właściwości przy użyciu wartości właściwości base (nie animowanych). (Odziedziczone po Freezable) |
| GetCurrentValueAsFrozen() |
Tworzy zamrożoną kopię przy użyciu bieżących Freezable wartości właściwości. Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie. (Odziedziczone po Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Sprawia, że bieżące wystąpienie jest zamrożonym klonem określonego Freezableelementu . Jeśli obiekt ma animowane właściwości zależności, zostaną skopiowane ich bieżące animowane wartości. (Odziedziczone po Freezable) |
| GetHashCode() |
Pobiera kod skrótu dla tego elementu DependencyObject. (Odziedziczone po DependencyObject) |
| GetLocalValueEnumerator() |
Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości na tym DependencyObjectobiekcie . (Odziedziczone po DependencyObject) |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| GetValue(DependencyProperty) |
Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia klasy DependencyObject. (Odziedziczone po DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Ponownie oblicza obowiązującą wartość dla określonej właściwości zależności. (Odziedziczone po DependencyObject) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| OnChanged() |
Wywoływana po zmodyfikowaniu bieżącego Freezable obiektu. (Odziedziczone po Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie ma być używany bezpośrednio z kodu. (Odziedziczone po Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Zapewnia, że odpowiednie wskaźniki kontekstu są ustanawiane dla DependencyObjectType elementu członkowskiego danych, który został właśnie ustawiony. (Odziedziczone po Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Zastępuje implementację DependencyObject metody OnPropertyChanged(DependencyPropertyChangedEventArgs) , aby również wywoływać wszelkie Changed procedury obsługi w odpowiedzi na zmieniającą właściwość zależności typu Freezable. (Odziedziczone po Freezable) |
| ReadLocalValue(DependencyProperty) |
Zwraca wartość lokalną właściwości zależności, jeśli istnieje. (Odziedziczone po DependencyObject) |
| ReadPreamble() |
Gwarantuje, że dostęp do obiektu Freezable jest uzyskiwany z prawidłowego wątku. Dziedziczy Freezable muszą wywoływać tę metodę na początku dowolnego interfejsu API, który odczytuje elementy członkowskie danych, które nie są właściwościami zależności. (Odziedziczone po Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Ustawia wartość właściwości zależności bez zmieniania źródła wartości. (Odziedziczone po DependencyObject) |
| SetValue(DependencyProperty, Object) |
Ustawia wartość lokalną właściwości zależności określonej przez jej identyfikator właściwości zależności. (Odziedziczone po DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Ustawia wartość lokalną właściwości zależności tylko do odczytu określonej przez DependencyPropertyKey identyfikator właściwości zależności. (Odziedziczone po DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość podanej właściwości zależności. (Odziedziczone po DependencyObject) |
| ToString() |
Tworzy reprezentację ciągu tego elementu GeneralTransform. (Odziedziczone po GeneralTransform) |
| ToString(IFormatProvider) |
Tworzy reprezentację ciągu tego wystąpienia na podstawie przekazanego IFormatProvider parametru. (Odziedziczone po GeneralTransform) |
| Transform(Point) |
Przekształca określony punkt i zwraca wynik. (Odziedziczone po GeneralTransform) |
| TransformBounds(Rect) |
Przekształca określone pole ograniczenia i zwraca pole ograniczenia wyrównane do osi, które jest dokładnie wystarczająco duże, aby je zawierać. (Odziedziczone po Transform) |
| TryTransform(Point, Point) |
Próbuje przekształcić określony punkt i zwraca wartość wskazującą, czy przekształcenie zakończyło się pomyślnie. (Odziedziczone po Transform) |
| VerifyAccess() |
Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
| WritePostscript() |
Changed Wywołuje zdarzenie dla Freezable metody i wywołuje jej OnChanged() metodę. Klasy pochodzące z Freezable klasy powinny wywoływać tę metodę na końcu dowolnego interfejsu API, który modyfikuje składowe klasy, które nie są przechowywane jako właściwości zależności. (Odziedziczone po Freezable) |
| WritePreamble() |
Sprawdza, czy Freezable element nie jest zamrożony i czy jest uzyskiwany dostęp z prawidłowego kontekstu wątkowego. Freezable dziedziczy powinny wywoływać tę metodę na początku dowolnego interfejsu API, który zapisuje dane członkom, które nie są właściwościami zależności. (Odziedziczone po Freezable) |
Zdarzenia
| Nazwa | Opis |
|---|---|
| Changed |
Występuje, gdy Freezable obiekt lub, który zawiera, jest modyfikowany. (Odziedziczone po Freezable) |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu. (Odziedziczone po GeneralTransform) |