Style Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee kunt u eigenschappen, resources en gebeurtenis-handlers delen tussen exemplaren van een type.
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope, System.Windows.Markup.IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
interface IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface IAddChild
interface INameScope
interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
- Overname
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u een stijldeclaratie die van invloed is op de Background eigenschap van een Control.
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
Ga als volgt te werk om de bovenstaande stijl toe te passen:
<Label Content="Yellow Background" Style="{StaticResource Style1}" />
U kunt ook stijlen toepassen op alle elementen van een bepaald type met behulp van de TargetType eigenschap. Als u het doeltype aan de stijl toevoegt, hoeft u de eigenschap die u instelt niet meer volledig in aanmerking te komen met de ClassName.PropertyName syntaxis. In het volgende voorbeeld wordt een stijl gedefinieerd die op elk TextBlock element wordt toegepast.
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="Segoe Black" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="FontSize" Value="12pt" />
<Setter Property="Foreground" Value="#777777" />
</Style>
Note
Veel WPF besturingselementen bestaan uit een combinatie van andere WPF besturingselementen, dus het maken van een stijl die van toepassing is op alle besturingselementen van een type kan grote gevolgen hebben. Als u bijvoorbeeld een stijl maakt die gericht is op de TextBlock besturingselementen in een Canvas, wordt de stijl toegepast op alle TextBlock besturingselementen in het canvas, zelfs als het TextBlock deel uitmaakt van een ander besturingselement, zoals een ListBox.
Zie de BasedOn pagina voor informatie over het uitbreiden of overnemen van een gedefinieerde stijl.
Opmerkingen
U kunt een Style op elk element instellen dat is afgeleid van FrameworkElement of FrameworkContentElement. Een stijl wordt meestal gedeclareerd als een resource in de Resources sectie. Omdat stijlen resources zijn, voldoen ze aan dezelfde bereikregels die van toepassing zijn op alle resources, dus waar u een stijl declareert, is van invloed op waar deze kan worden toegepast. Als u bijvoorbeeld de stijl declareert in het hoofdelement van het XAML-bestand van uw toepassingsdefinitie, kan de stijl overal in uw toepassing worden gebruikt. Als u een navigatietoepassing maakt en de stijl declareert in een van de XAML-bestanden van de toepassing, kan de stijl alleen worden gebruikt in dat XAML-bestand. Zie XAML-resources voor meer informatie over bereikregels voor resources.
De stijldeclaratie bestaat uit een Style object dat een verzameling van een of meer Setter objecten bevat. Elk Setter bestaat uit een Property en een Value. De eigenschap is de naam van de eigenschap van het element waaraan de stijl moet worden toegepast. Nadat de stijl is gedeclareerd als een resource, kan deze worden verwezen op dezelfde manier als elke andere resource.
Note
Als er meer dan één setter in de verzameling setter is met dezelfde Property eigenschapswaarde, wordt de setter die als laatste wordt gedeclareerd, gebruikt. Als u een waarde instelt voor dezelfde eigenschap in een stijl en rechtstreeks op een element, heeft de waarde die voor het element is ingesteld, rechtstreeks voorrang.
Met het model Windows Presentation Foundation (WPF) kunt u een uiterlijk en scheiding van presentatie en logica onderhouden en delen. Het stijl- en sjabloonmodel bevat een reeks functies waarmee u uw gebruikersinterface kunt aanpassen. Deze suite met functies bevat de Style klasse en het volgende:
Zie Styling and Templatingvoor meer informatie.
Constructors
| Name | Description |
|---|---|
| Style() |
Initialiseert een nieuw exemplaar van de Style klasse. |
| Style(Type, Style) |
Initialiseert een nieuw exemplaar van de Style klasse dat moet worden gebruikt op de opgegeven en op basis van de opgegeven TypeStyle. |
| Style(Type) |
Initialiseert een nieuw exemplaar van de Style klasse dat moet worden gebruikt op de opgegeven Type. |
Eigenschappen
| Name | Description |
|---|---|
| BasedOn |
Hiermee haalt u een gedefinieerde stijl op die de basis is van de huidige stijl. |
| Dispatcher |
Hiermee wordt de Dispatcher aan dit DispatcherObject gekoppelde bestand. (Overgenomen van DispatcherObject) |
| IsSealed |
Hiermee wordt een waarde opgehaald die aangeeft of de stijl alleen-lezen is en niet kan worden gewijzigd. |
| Resources |
Hiermee haalt u de verzameling resources op die kunnen worden gebruikt binnen het bereik van deze stijl. |
| Setters |
Hiermee haalt u een verzameling Setter en EventSetter objecten op. |
| TargetType |
Hiermee haalt u het type op waarvoor deze stijl is bedoeld. |
| Triggers |
Hiermee haalt u een verzameling objecten op die eigenschapswaarden toepassen op basis van TriggerBase opgegeven voorwaarden. |
Methoden
| Name | Description |
|---|---|
| CheckAccess() |
Bepaalt of de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Retourneert de hash-code voor deze Style. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| RegisterName(String, Object) |
Registreert een nieuw naamobjectpaar in de huidige naamscoop. |
| Seal() |
Hiermee worden deze stijl en alle factory's en triggers vergrendeld, zodat ze niet kunnen worden gewijzigd. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| UnregisterName(String) |
Hiermee verwijdert u een naamobjecttoewijzing uit de naamscoop. |
| VerifyAccess() |
Hiermee wordt afgedwongen dat de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IAddChild.AddChild(Object) |
Hiermee voegt u een onderliggend object toe. |
| IAddChild.AddText(String) |
Hiermee voegt u de tekstinhoud van een knooppunt toe aan het object. |
| INameScope.FindName(String) |
Retourneert een object met de opgegeven identificatienaam. |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Query's of een opgegeven omgevingseigenschap beschikbaar is in het huidige bereik. |