Aracılığıyla paylaş


VisualStateGroup Sınıf

Tanım

Bir durumdan diğerine geçmek için kullanılan birbirini dışlayan VisualState nesneler ve VisualTransition nesneler içerir.

public ref class VisualStateGroup : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("States")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualStateGroup : System.Windows.DependencyObject
[<System.Windows.Markup.ContentProperty("States")>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type VisualStateGroup = class
    inherit DependencyObject
Public Class VisualStateGroup
Inherits DependencyObject
Devralma
Öznitelikler

Örnekler

Aşağıdaki örnek, içeren bir Button için basit ControlTemplate bir Gridoluşturur. Ayrıca ve Normal durumlarını MouseOver tanımlayan adlı CommonStatesbir VisualStateGroup içerir. VisualStateGroup ayrıca, kullanıcı fare işaretçisini üzerinde Buttonhareket ettiğinde yeşilden kırmızıya geçmesi için yarım saniye Grid sürdüğünü belirten bir VisualTransition de vardır.

<ControlTemplate TargetType="Button">
  <Grid >
    <VisualStateManager.VisualStateGroups>
      <VisualStateGroup x:Name="CommonStates">

        <VisualStateGroup.Transitions>

          <!--Take one half second to trasition to the MouseOver state.-->
          <VisualTransition To="MouseOver" 
            GeneratedDuration="0:0:0.5"/>
        </VisualStateGroup.Transitions>

        <VisualState x:Name="Normal" />

        <!--Change the SolidColorBrush, ButtonBrush, to red when the
            mouse is over the button.-->
        <VisualState x:Name="MouseOver">
          <Storyboard>
            <ColorAnimation Storyboard.TargetName="ButtonBrush" 
              Storyboard.TargetProperty="Color" To="Red" />
          </Storyboard>
        </VisualState>
      </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
    <Grid.Background>
      <SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
    </Grid.Background>
  </Grid>
</ControlTemplate>

Açıklamalar

Her VisualStateGroup biri bir nesne koleksiyonu VisualState içerir. , VisualState denetim belirli bir durumdayken denetimin görünümünün nasıl değiştiğini belirten bir nesne koleksiyonu Storyboard içerir. Örneğin, basıldığında Button , basılmadığından biraz farklı bir görünüme sahip olabilir. öğesinin tanımladığı Button iki durum, basıldığında ("Pressed") ve basılmadığında ("Normal") karşılık gelir.

Denetimde ekli özelliği ayarlayarak VisualStateManager.VisualStateGroups denetime eklersinizVisualState. Birbirini birbirini dışlayan durumları aynı VisualStateGroupiçine koyarsınız. Örneğin, iki CheckBoxVisualStateGroup nesnesi vardır. Bunlardan biri, , NormalMouseOver, Pressedve Disableddurumlarını içerir. Diğeri, , CheckedUnCheckedve Indeterminatedurumlarını içerir. CheckBox durumlarında MouseOver ve UnChecked aynı zamanda olabilir, ancak ve Pressed durumlarında MouseOver aynı anda olamaz.

Herhangi bir öğeye nesne ekleyebilmenize VisualState rağmen, diğer kişilerin bir görsel davranışını yeniden tanımlamalarını sağlamak için özellikle yararlı bir Controlyoldur. kullanan ControlTemplatebir özel denetim oluşturursanız, sınıf tanımına bir TemplateVisualStateAttribute ekleyerek denetimin hangi durumlarda bulunabileceğini belirtebilirsiniz. Ardından, denetiminiz için yeni ControlTemplate bir oluşturan herkes şablona nesne ekleyebilir VisualState . , denetimin TemplateVisualStateAttribute durumlarını kullanıma sunma amacıyla Visual Studio ve Visual Studio için Blend gibi tasarımcı araçlarını etkinleştirir. Aynı TemplateVisualStateAttribute.GroupName olan durumlar aynı öğesine VisualStateGroupaittir.

içinde nesneleri kullanma VisualStateGroup hakkında daha fazla bilgi için bkz. Denetim için şablon oluşturma.ControlTemplate kullanan VisualStateManagerdenetimler oluşturma hakkında daha fazla bilgi için bkz. Özelleştirilebilir Bir Görünüme Sahip Denetim Oluşturma.

özelliği, Transitions içinde tanımlanan VisualStateGroupdurumlar arasında denetim geçişi yapıldığında uygulanan nesneleri içerirVisualTransition.

Oluşturucular

Name Description
VisualStateGroup()

VisualStateGroup sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
CurrentState

VisualState Şu anda denetime uygulanan öğesini alır.

DependencyObjectType

DependencyObjectType Bu örneğin CLR türünü sarmalayan öğesini alır.

(Devralındığı yer: DependencyObject)
Dispatcher

Dispatcher Bunun DispatcherObject ilişkili olduğu öğesini alır.

(Devralındığı yer: DispatcherObject)
IsSealed

Bu örneğin şu anda korumalı (salt okunur) olup olmadığını gösteren bir değer alır.

(Devralındığı yer: DependencyObject)
Name

öğesinin adını VisualStateGroupalır veya ayarlar.

States

Birbirini dışlayan VisualState nesnelerin koleksiyonunu alır.

Transitions

Nesne koleksiyonunu VisualTransition alır.

Yöntemler

Name Description
CheckAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişimi olup olmadığını belirler.

(Devralındığı yer: DispatcherObject)
ClearValue(DependencyProperty)

Bir özelliğin yerel değerini temizler. Temizlenecek özellik bir DependencyProperty tanımlayıcı tarafından belirtilir.

(Devralındığı yer: DependencyObject)
ClearValue(DependencyPropertyKey)

Salt okunur özelliğin yerel değerini temizler. Temizlenecek özellik tarafından DependencyPropertyKeybelirtilir.

(Devralındığı yer: DependencyObject)
CoerceValue(DependencyProperty)

Belirtilen bağımlılık özelliğinin değerini zorlama. Bu, çağrısında CoerceValueCallbackvar olan bağımlılık özelliği için özellik meta verilerinde belirtilen herhangi bir DependencyObject işlevi çağırarak gerçekleştirilir.

(Devralındığı yer: DependencyObject)
Equals(Object)

Sağlanan DependencyObject öğesinin geçerli DependencyObjectile eşdeğer olup olmadığını belirler.

(Devralındığı yer: DependencyObject)
GetHashCode()

Bu DependencyObjectiçin bir karma kodu alır.

(Devralındığı yer: DependencyObject)
GetLocalValueEnumerator()

Hangi bağımlılık özelliklerinin bu DependencyObjectüzerinde yerel olarak ayarlı değerlere sahip olduğunu belirlemek için özel bir numaralandırıcı oluşturur.

(Devralındığı yer: DependencyObject)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
GetValue(DependencyProperty)

Bir öğesinin bu örneğindeki bir bağımlılık özelliğinin DependencyObjectgeçerli etkin değerini döndürür.

(Devralındığı yer: DependencyObject)
InvalidateProperty(DependencyProperty)

Belirtilen bağımlılık özelliği için geçerli değeri yeniden değerlendirir.

(Devralındığı yer: DependencyObject)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Bunun DependencyObject üzerindeki herhangi bir bağımlılık özelliğinin etkin değeri her güncelleştirildiğinde çağrılır. Değiştirilen belirli bağımlılık özelliği olay verilerinde bildirilir.

(Devralındığı yer: DependencyObject)
ReadLocalValue(DependencyProperty)

Varsa, bağımlılık özelliğinin yerel değerini döndürür.

(Devralındığı yer: DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Bir bağımlılık özelliğinin değerini, değer kaynağını değiştirmeden ayarlar.

(Devralındığı yer: DependencyObject)
SetValue(DependencyProperty, Object)

Bağımlılık özelliği tanımlayıcısı tarafından belirtilen bir bağımlılık özelliğinin yerel değerini ayarlar.

(Devralındığı yer: DependencyObject)
SetValue(DependencyPropertyKey, Object)

Bağımlılık özelliğinin tanımlayıcısı tarafından belirtilen salt okunur bağımlılık özelliğinin DependencyPropertyKey yerel değerini ayarlar.

(Devralındığı yer: DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Serileştirme işlemlerinin sağlanan bağımlılık özelliği için değeri serileştirmesi gerekip gerekmediğini gösteren bir değer döndürür.

(Devralındığı yer: DependencyObject)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
VerifyAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişmesini zorlar.

(Devralındığı yer: DispatcherObject)

Ekinlikler

Name Description
CurrentStateChanged

Denetim farklı bir duruma geçtikten sonra gerçekleşir.

CurrentStateChanging

Bir denetim farklı bir duruma geçiş yapmaya başladığında gerçekleşir.

Şunlara uygulanır