Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe StyleSelector

 

Fornece uma maneira de aplicar estilos baseados em lógica personalizada.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (em PresentationFramework.dll)

System.Object
  System.Windows.Controls.StyleSelector

public class StyleSelector

NomeDescrição
System_CAPS_pubmethodStyleSelector()

Inicializa uma nova instância de um StyleSelector.

NomeDescrição
System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_pubmethodSelectStyle(Object, DependencyObject)

Quando substituído em uma classe derivada, retorna um Style com base em lógica personalizada.

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

To create a T:System.Windows.Controls.StyleSelector that applies a style based on custom logic, create a subclass of the T:System.Windows.Controls.StyleSelector class and implement the M:System.Windows.Controls.StyleSelector.SelectStyle(System.Object,System.Windows.DependencyObject) method.

The following example shows how to define a T:System.Windows.Controls.StyleSelector that defines a T:System.Windows.Style for a row. This example defines the P:System.Windows.Controls.Control.Background color according to the row index.

public class ListViewItemStyleSelector : StyleSelector
{
    public override Style SelectStyle(object item, 
        DependencyObject container)
    {
        Style st = new Style();
        st.TargetType = typeof(ListViewItem);
        Setter backGroundSetter = new Setter();
        backGroundSetter.Property = ListViewItem.BackgroundProperty;
        ListView listView = 
            ItemsControl.ItemsControlFromItemContainer(container) 
              as ListView;
        int index = 
            listView.ItemContainerGenerator.IndexFromContainer(container);
        if (index % 2 == 0)
        {
            backGroundSetter.Value = Brushes.LightBlue;
        }
        else
        {
            backGroundSetter.Value = Brushes.Beige;
        }
        st.Setters.Add(backGroundSetter);
        return st;
    }
}    

The following example shows how to define a T:System.Windows.ResourceKey for the T:System.Windows.Controls.StyleSelector. The namespc prefix maps to a TLA2#tla_clr namespace and the corresponding assembly where the T:System.Windows.Controls.StyleSelector is defined. For more information, see XAML Namespaces and Namespace Mapping for WPF XAML.

<namespc:ListViewItemStyleSelector x:Key="myStyleSelector"/>

The following example shows how to set the P:System.Windows.Controls.ItemsControl.ItemContainerStyleSelector property of a T:System.Windows.Controls.ListView to this T:System.Windows.Controls.StyleSelector resource.

<ListView 
      ItemsSource="{Binding Source={StaticResource EmployeeData}, 
                                        XPath=Employee}"
      ItemContainerStyleSelector="{DynamicResource myStyleSelector}" >      
  <ListView.View>
    <GridView>
      <GridViewColumn DisplayMemberBinding="{Binding XPath=FirstName}" 
                      Header="First Name" Width="120"/>
      <GridViewColumn DisplayMemberBinding="{Binding XPath=LastName}" 
                      Header="Last Name" Width="120"/>
      <GridViewColumn DisplayMemberBinding="{Binding XPath=FavoriteCity}" 
                      Header="Favorite City" Width="120"/>
    </GridView>
  </ListView.View>
</ListView>

For an example of how to create a selector to choose a defined style resource, see the implementation of M:System.Windows.Controls.DataTemplateSelector.SelectTemplate(System.Object,System.Windows.DependencyObject), which allows you to use custom logic to select a T:System.Windows.DataTemplate, based on a similar concept.

.NET Framework
Disponível desde 3.0

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: