VisualStateGroup Sınıf

Tanım

Bir durumdan diğerine taşımak 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 Grid yarım saniye 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, basıldığında () ve basılmadığında ("Pressed""Normal") karşılık geldiğini belirten Button iki durum.

Denetimdeki ekli özelliği ayarlayarak VisualStateManager.VisualStateGroups denetime eklersinizVisualState. Birbirini dışlayan durumları aynı VisualStateGroupiçine koyarsınız. Örneğin, iki CheckBoxVisualStateGroup nesnesi vardır. Bunlardan biri, Normal, MouseOver, Pressedve Disableddurumlarını içerir. Diğeri ise , 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 öğesinin görsel davranışını yeniden tanımlamasını sağlamanın özellikle yararlı bir Controlyoludur. kullanan özel bir ControlTemplatedenetim 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ı olan durumlar aynı TemplateVisualStateAttribute.GroupNameVisualStateGroupöğesine aittir.

içinde nesneleri kullanma VisualStateGroup hakkında daha fazla bilgi için bkz. ControlTemplate Oluşturarak Varolan Denetimin Görünümünü Özelleştirme.ControlTemplate kullanan VisualStateManagerdenetimlerin nasıl oluşturulacağı hakkında daha fazla bilgi için bkz. Özelleştirilebilir Görünüme Sahip Bir Denetim Oluşturma.

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

Oluşturucular

VisualStateGroup()

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

Özellikler

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ğunu alır.

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

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

(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

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 DependencyObjectvar olan bağımlılık özelliği için özellik meta verilerinde belirtilen herhangi bir CoerceValueCallback 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 özelleştirilmiş bir numaralandırıcı oluşturur.

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

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

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

Bir öğesinin bu örneğindeki bağımlılık özelliğinin DependencyObjectgeçerli geçerli 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 Objectöğesinin sığ bir kopyasını oluşturur.

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

Üzerindeki DependencyObject 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 belirten bir değer döndürür.

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

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

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

Çağıran iş parçacığının bu DispatcherObjecterişimine sahip olmasını zorlar.

(Devralındığı yer: DispatcherObject)

Ekinlikler

CurrentStateChanged

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

CurrentStateChanging

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

Şunlara uygulanır