LabelEditor.xaml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:controls="clr-namespace:FWindSoft.Wpf.Controls"
  4. xmlns:converter="clr-namespace:FWindSoft.Wpf.Converter">
  5. <ControlTemplate x:Key="HorTemplate" TargetType="{x:Type controls:LabelEditor}">
  6. <Grid>
  7. <Grid.ColumnDefinitions>
  8. <ColumnDefinition Width="{Binding LabelWidth,RelativeSource={RelativeSource TemplatedParent},Converter={x:Static converter:DoubleGridLengthConverter.Instance}}"></ColumnDefinition>
  9. <ColumnDefinition></ColumnDefinition>
  10. </Grid.ColumnDefinitions>
  11. <ContentPresenter Grid.Column="0" x:Name="HeaderContentPresenter" HorizontalAlignment="{Binding LabelHorizontalAlignment,RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="Center"
  12. Margin="0,0,5,0"
  13. Content="{TemplateBinding Header}"
  14. ContentTemplate="{TemplateBinding HeaderTemplate}"
  15. />
  16. <ContentPresenter Grid.Column="1" Content="{TemplateBinding Content}"
  17. ContentTemplate="{TemplateBinding ContentTemplate}"
  18. Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  19. VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
  20. </Grid>
  21. </ControlTemplate>
  22. <ControlTemplate x:Key="VerTemplate" TargetType="{x:Type controls:LabelEditor}">
  23. <Grid>
  24. <Grid.RowDefinitions>
  25. <RowDefinition Height="{Binding LabelHeight,RelativeSource={RelativeSource TemplatedParent},Converter={x:Static converter:DoubleGridLengthConverter.Instance}}"></RowDefinition>
  26. <RowDefinition></RowDefinition>
  27. </Grid.RowDefinitions>
  28. <ContentPresenter Grid.Column="0" Grid.Row="0" x:Name="HeaderContentPresenter"
  29. HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
  30. Margin="0,0,0,5"
  31. Content="{TemplateBinding Header}"
  32. ContentTemplate="{TemplateBinding HeaderTemplate}"
  33. />
  34. <ContentPresenter Grid.Column="0" Grid.Row="1" Content="{TemplateBinding Content}"
  35. ContentTemplate="{TemplateBinding ContentTemplate}"
  36. Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  37. VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
  38. </Grid>
  39. </ControlTemplate>
  40. <Style TargetType="{x:Type controls:LabelEditor}">
  41. <Setter Property="Template" Value="{StaticResource ResourceKey=HorTemplate}">
  42. </Setter>
  43. <Style.Triggers>
  44. <Trigger Property="Orientation" Value="Vertical">
  45. <Setter Property="Template" Value="{StaticResource ResourceKey=VerTemplate}"/>
  46. </Trigger>
  47. </Style.Triggers>
  48. </Style>
  49. </ResourceDictionary>