code_junkie

Wpf custom control template - relative font size

Nov 12th, 2011
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. public class MathConverter : IValueConverter
  2. {
  3. public object Convert( object value, Type targetType, object parameter, CultureInfo culture )
  4. {
  5. return (double)value + double.Parse( parameter.ToString() );
  6. }
  7.  
  8. public object ConvertBack( object value, Type targetType, object parameter, CultureInfo culture )
  9. {
  10. return null;
  11. }
  12. }
  13.  
  14. <my:MathConverter x:Key="MathConverter" />
  15.  
  16. <TextBlock FontSize="{Binding
  17. RelativeSource={RelativeSource AncestorType={x:Type Window}},
  18. Path=FontSize,
  19. Converter={StaticResource MathConverter},
  20. ConverterParameter=2}" />
  21.  
  22. public class FontSizeConverter : IValueConverter
  23. {
  24.  
  25. #region IValueConverter Members
  26.  
  27. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  28. {
  29. return (double)value + 12.0;
  30. }
  31.  
  32. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  33. {
  34. return (double)value - 12.0;
  35. }
  36.  
  37. #endregion
  38. }
  39.  
  40. <Style.Resources>
  41. <local:FontSizeConverter x:Key="fontSizeConverter"/>
  42. </Style.Resources>
  43.  
  44. <TextBlock FontSize="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=FontSize, Converter={StaticResource fontSizeConverter}}"
  45. Grid.Row="0" Text="{Binding RelativeSource={RelativeSource TemplatedParent},
  46. Path=Date.Day}" HorizontalAlignment="Right" VerticalAlignment="Top" Padding="2" Margin="2" >
  47. </TextBlock>
Add Comment
Please, Sign In to add comment