Home Windows ecommerce Treiber Server Entwicklung Software Security Internet Hardware Nicht IT Mobile Nintendo Suchen Multimedia Virtualisierung Kopie von Navi01b Provider


Resourcen

-->Nach oben LayoutContainer Controls Datenanbindung Lokalisierung Resourcen
Style
Trigger
DataTrigger
DataTemplate

Resourcen

Was sind Resourcen

Ressourcen können z.B. Bilder oder Dokumente sein, welche zur Laufzeit verwendet werden. In diesem Falle sprechen wir von binären Resourcen.

Ressourcen können Definitionen wie Styles oder Trigger sein welche in XAML-Syntax definiert sind.

Kurzüberblick der Resourcen

  • Style: Format von Elementen mit den Eigenschaften des Elementes, z.B. Background, Border...
  • Trigger: Reaktion auf Ereignise, z.B. wenn die Maus über einen Button fährt, wird dieser rot.
  • DataTrigger: Reaktion auf sich verändernde Werte: z.B. Grünner Hintergrund wenn die Länge des Feldes PLZ = 4 ist.
  • DataTemplate: Formatierungen z.B. für die Anzeige in ListBoxen oder Tees

Wo werden Ressourcen definiert

  • System Resource
  • Application Resource (in Datei App.xaml)
  • Window Resource
  • Element Resource

System Resource

Beschreibung einiger SystemResourcen
Resource Beschreibung
SystemColors Auswahl von im System vorhandenen Farben.
SystemFonts Auswahl der im System installierten Zeichensätze

Beispiele der Einbindung von System Ressourcen

<Grid Background="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"

<Label Content="{StaticResource {x:Static SystemParameters.VirtualScreenWidthKey}}" />

<CheckBox IsChecked="{x:Static SystemParameters.UIEffects}" Content="UIEffects" />

 

Weitere System Resourcen finden Sie wenn Sie im CodeBehind in einer Methode SystemParameter. eingeben. Intelisense zeigt Ihnen nach dem Punkt die Möglichkeiten auf.

Static oder Dynamic Resource

  • StaticResource: Die Resource reagiert nicht auf eine Änderung der ResourcenQuelle
  • DynamicResource: Wenn sich die ResourcenQuelle ändert, wird die Anwendung informiert und die entsprechenden Werte angepasst.

Application Resource

<Application>
   <Application.Resources>
      <SolidColorBrush Color = "Black" x:Key="{xStatic SystemColors.WindowBrushKey}" />
   </Application.Resources>
</Application>

Window Resource

<Window x:Class="Wpf_DatenAnbindung.Window1"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   Title="Window1" Height="396" Width="300">

      <Window.Resources>

      </Window.Resources>

Element Resources

<StackPanel>
   <StackPanel.Resources>
      <!-- Style für alle TextBoxen definieren -->
      <Style x:Key="{x:Type TextBox}" TargetType="TextBox">
         <Setter Property="Margin" Value="4,-3,8,8" />
      </Style>

      <!-- Abgeleiteter Style für die TextBox PLZ definieren-->
      <Style x:Key="dataPLZ" TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}">
         <Style.Triggers >
            <DataTrigger Binding="{Binding RelativeSource={x:Static RelativeSource.Self},Path = Text.Length}" Value="4">
               <Setter Property="Background" Value="Green" />
            </DataTrigger>
         </Style.Triggers>
      </Style>
   </StackPanel.Resources>

<Label>Vorname</Label>
<TextBox></TextBox>
<Label>Nachname</Label>
<TextBox></TextBox>
<Label>Adresse</Label>
<TextBox></TextBox>

<DockPanel>
   <StackPanel>
      <Label>PLZ</Label>
      <TextBox Width="40" Style="{StaticResource dataPLZ}"></TextBox>
   </StackPanel>
   <StackPanel>
      <Label>Ort</Label>
      <TextBox></TextBox>
   </StackPanel>
</DockPanel>

</StackPanel>
 

Resourcen aus ResourceDictionary

Eine Resource welche immer wieder verwendet wird kann in einer Separaten Datei (in diesem Beispiel myResource1.xaml) abgelegt werden und an beliebiger Stelle eingelesen werden.

                <StackPanel.Resources>
                    <ResourceDictionary>
                        <ResourceDictionary.MergedDictionaries>
                            <ResourceDictionary Source="myResource1.xaml" />
                        </ResourceDictionary.MergedDictionaries>
                    </ResourceDictionary>
                </StackPanel.Resources>

Die Datei myResource1.xaml wird über Add New Item Resource Dictionary erzeugt und hat zum Beispiel folgenden Inhalt:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   <LinearGradientBrush x:Key="brushLinear">
      <GradientStop Color="pink" Offset="0" />
      <GradientStop Color="Aqua" Offset="0.5" />
      <GradientStop Color="Red" Offset="1" />
   </LinearGradientBrush>
</ResourceDictionary>
 

Binäre Resourcen

Eigenschaften

Von einer JPG oder anderen Datei kann man im Projektexplorer die Eigenschaften einstellen.

Eigenschaften von Dateien
Eigenschaft Beschreibung
Build Action Ressource: Die Datei wird in die EXE oder DLL hinein kompiliert. Die Datei kann nur durch erneutes Kompilieren des Programmes ausgetauscht werden.
Content: Die Datei wird als eigenständige Datei beibehalten. In diesem Falle sollte auch die Eigenschaft "Copy To Outputdirectory" auf "Allways" oder "If newer" gestellt werden. Die Datei kann ohne erneutem Kompilieren des Programmes ausgewechselt werden.

Adressieren von Ressourcen

Absolute Pfadangabe, die Resource liegt in der Projekt-Root, BuildVorgang=Resource
Uri = ur new Uri("pack://application:,,,/bild.jpg");

Absolute Pfadangabe, die Resource liegt im Unterverzeichnis Bilder, BuildVorgang=Resource
Uri = ur new Uri("pack://application:,,,/Bilder/bild.jpg");

Relative Pfadangabe (Das Bild liegt im gleichen Verzeichnis wie die Assemly)
Uri = ur new Uri(@".\Back3.jpg", UriKind.Relative)

 

 


Ihre Werbung hier

 

Haftungsausschluss: Verwendung der Informationen auf Ihre eigene Gefahr. Wir übernehmen keinerlei Haftung. Beachten Sie auch den Haftungsausschluss.


Wenn Sie Wünsche, Anregungen, Verbesserungen, Korrekturen oder sonstige Vorschläge zu dieser FAQ haben: . Wir freuen uns auf Ihr Mail.


 Und jetzt noch ein bisschen Werbung...

Stellensuche, Jobangebote unter www.notizia.ch/stellensuche