Advertisement
Guest User

Untitled

a guest
Aug 31st, 2015
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. <xcad:LayoutAnchorable Title="Folder" CanHide="{Binding IsHideExplorerView}">
  2. <Views:ExplorerView DataContext="{Binding ExplorerViewModel}"/>
  3. </xcad:LayoutAnchorable>
  4.  
  5. <Button ToolTip="{Binding ButtonLabel,RelativeSource={RelativeSource AncestorType=UserControl,Mode=FindAncestor},UpdateSourceTrigger=PropertyChanged}"
  6. Command="{Binding ButtonCommand,RelativeSource={RelativeSource AncestorType=UserControl,Mode=FindAncestor},UpdateSourceTrigger=PropertyChanged}"
  7. Cursor="Hand" VerticalAlignment="Center" >
  8. <Button.Template>
  9. <ControlTemplate>
  10. <Grid>
  11. <Grid.ColumnDefinitions>
  12. <ColumnDefinition Width="45"/>
  13. <ColumnDefinition Width="*"/>
  14. </Grid.ColumnDefinitions>
  15. <Image Name="ButtonImage" IsEnabled="{Binding Path=IsEnabled,RelativeSource={RelativeSource AncestorType=Button,Mode=FindAncestor}}" >
  16. <Image.Style>
  17. <Style TargetType="{x:Type Image}">
  18. <Style.Triggers>
  19. <Trigger Property="IsEnabled" Value="True">
  20. <Setter Property="Source" Value="{Binding ActiveImage,RelativeSource={RelativeSource AncestorType=UserControl,Mode=FindAncestor},UpdateSourceTrigger=PropertyChanged}"/>
  21. </Trigger>
  22. <Trigger Property="IsEnabled" Value="False">
  23. <Setter Property="Source" Value="{Binding DeactiveImage,RelativeSource={RelativeSource AncestorType=UserControl,Mode=FindAncestor},UpdateSourceTrigger=PropertyChanged}"/>
  24. </Trigger>
  25. </Style.Triggers>
  26. </Style>
  27. </Image.Style>
  28. </Image>
  29. <Label Name="LabelContent" Content="{Binding ButtonLabel,RelativeSource={RelativeSource AncestorType=UserControl,Mode=FindAncestor},UpdateSourceTrigger=PropertyChanged}"
  30. Grid.Column="1" IsEnabled="{Binding Path=IsEnabled,RelativeSource={RelativeSource AncestorType=Button,Mode=FindAncestor}}" VerticalContentAlignment="Center" />
  31. </Grid>
  32. </ControlTemplate>
  33. </Button.Template>
  34. </Button>
  35.  
  36. public static DependencyProperty activeImage =
  37. DependencyProperty.Register("ActiveImage", typeof(type of this property like "string"), typeof(type of the custom control that you need like "MyButton"), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
  38.  
  39. public string ActiveImage
  40. {
  41. get { return (string)GetValue(activeImage); }
  42. set { SetValue(activeImage, value); }
  43. }
  44.  
  45. <custom:MyButton ButtonCommand="{Binding DecreaseImagesCount}" ButtonLabel="ZoomIn" ActiveImage="/Images/ActiveImages/ZoomIn.png" DeactiveImage="/Images/GrayImages/ZoomIn.png"
  46. Grid.Column="2" Margin="3,4" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement