Element.Eigenschaftsschreibweise
normalerweise werden Attribute (Eigenschaften) als String angegebeen:
<Button Width="100" Background="blue"> (parser creiert Button und setzt dessen Background Eigenschaft vom Typ Brush auf einen Solid...Brush den er aus einem StringToColorConverter erzeugt)
<Button Width="100">
<Button.Background>
<LinearGradientBrush>
<GradientStop Color="RoyalBlue" Offset="0.0" />
<GradientStop Color="White" Offset="1.0" />
</LinearGradientBrush>
</Button.Background>
</Button>
Markup Erweiterungen
system.Windows.Data.Binding, StaticResource, DynamicResource x
Binding:
Quellen: DataContext, Source, RelativSource, Elementname
Default mäßig genügt es eine Eigenschaft des Datacontextes anzugeben (und damit aufs Viewmodel=Datacontext zu binden, dieses wird solange im Baum aufwärts gesucht bis irgendein DataContext gefunden wird):
{Binding MyDatacontextProperty}
- es ist aber auch möglich auf Eigenschaften von GUI Elemente zu binden mittels der Eigenschaft Elementname:
Text="{Binding MyText, ElementName=MyUserControl}"
<Binding Path ="Foreground" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType=UserControl}"/>
Parent: {RelativeSource AncestorType=ContentControl}
multiBinding:
<TextBlock.Foreground>
<MultiBinding Converter="{StaticResource ColorStringToBrush}">
<Binding Path="FgColor" />
<Binding Path ="Foreground, Elementname=Root"/>
</MultiBinding>
</TextBlock.Foreground>
Default Brushes:
_textbox.SystemColors.WindowTextBrush
_textbox.Background = SystemColors.WindowBrush;
No comments:
Post a Comment