Exporter (0) Imprimer
Développer tout

Style.BasedOn, propriété

Gets or sets a defined style that is the basis of the current style.

Espace de noms: System.Windows
Assembly : PresentationFramework (dans presentationframework.dll)
Espace de noms XML :  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public Style BasedOn { get; set; }
/** @property */
public Style get_BasedOn ()

/** @property */
public void set_BasedOn (Style value)

public function get BasedOn () : Style

public function set BasedOn (value : Style)

<object>
  <object.BasedOn>
    <Style .../>
  </object.BasedOn>
</object>
<object BasedOn="myStyle" .../>
 myStyle  An existing style. Typically, you use the StaticResource markup extension to refer to an existing style. 

Valeur de la propriété

A defined style that is the basis of the current style. The default value is référence Null (Nothing en Visual Basic).

Each style only supports one BasedOn value.

There are several ways that styles in WPF can be extended or inherited. Styles can be based on other styles through this property. When you use this property, the new style will inherit the values of the original style that are not explicitly redefined in the new style. In the following example, Style2 inherits the Control.Background value of Yellow, and adds a Control.Foreground value of Blue.


<Style x:Key="Style1">
  <Setter Property="Control.Background" Value="Yellow"/>
</Style>

<Style x:Key="Style2" BasedOn="{StaticResource Style1}">
  <Setter Property="Control.Foreground" Value="Blue"/>
</Style>

Similarly, styles can be based on the style of an existing WPF element, as in the following example where the new style is based on the style of a TextBlock element.

  <Style
x:Key="TitleText"
BasedOn="{StaticResource {x:Type TextBlock}}"
TargetType="{x:Type TextBlock}">
    <Setter Property="FontSize" Value="32pt" />
    <Setter Property="Foreground">
      <Setter.Value>
        <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" Color="#90C117" />
            <GradientStop Offset="1.0" Color="#5C9417" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Setter.Value>
    </Setter>
    <Setter Property="RenderTransform">
      <Setter.Value>
        <TranslateTransform X="0" Y="10"/>
      </Setter.Value>
    </Setter>
  </Style>

RemarqueRemarque :

If you create a style with a TargetType property and base it on another style that also defines a TargetType property, the target type of the derived style must be the same as or be derived from the type of the base style.

Styles defined for specific types can also be based on other styles, as in the following example.

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
  <Setter Property="Foreground" Value="Green"/>
</Style>

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft