Guest User

Untitled

a guest
Feb 10th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.07 KB | None | 0 0
  1. <UserControl
  2. xmlns:interact="clrnamespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"..>
  3. <Window.DataContext>
  4. <VM:buttonimageviewmodel/>
  5. </Window.DataContext>
  6. <Grid>
  7. <DockPanel>
  8. <Button Grid.Row="0" Grid.Column="1" Width="200" Height="150" Command={Binding btn1}" CommandParameter="btn1">
  9. <Button.Content>
  10. <DockPanel Margin="5">
  11. <DockPanel DockPanel.Dock="Top">
  12. <intr:Interaction.Triggers>
  13. <intr:EventTrigger EventName="MouseEnter">
  14. <intr:InvokeCommandAction Command="{Binding MouseEnterCommand}" CommandParameter="MouseEnter"/>
  15. </intr:EventTrigger>
  16. <intr:EventTrigger EventName="MouseLeave">
  17. <intr:InvokeCommandAction Command="{Binding MouseLeaveCommand}" CommandParameter="MouseLeave" />
  18. </intr:EventTrigger>
  19. </intr:Interaction.Triggers>
  20. <Image Margin="5" Source= "{Binding FirstImageSource}" Width="160"></Image>
  21. </DockPanel>
  22. <TextBlock DockPanel.Dock="Bottom" HorizontalAlignment="Center" Text="SetParameters" FontSize="18" ></TextBlock>
  23. </DockPanel>
  24. </Button.Content >
  25. </Button>
  26. <Button Grid.Row="0" Grid.Column="2" Width="200" Height="150" Command="{Binding btn2}" CommandParameter="btn2" >
  27. <Button.Content>
  28. <DockPanel Margin="5">
  29. <DockPanel DockPanel.Dock="Top">
  30. <intr:Interaction.Triggers>
  31. <intr:EventTrigger EventName="MouseEnter">
  32. <intr:InvokeCommandAction Command="{Binding MouseEnterCommand}" CommandParameter="MouseEnter"/>
  33. </intr:EventTrigger>
  34. <intr:EventTrigger EventName="MouseLeave">
  35. <intr:InvokeCommandAction Command="{Binding MouseLeaveCommand}" CommandParameter="MouseLeave" />
  36. </intr:EventTrigger>
  37. </intr:Interaction.Triggers>
  38. <Image Margin="5" Source= "{Binding SecondImageSource}" Width="160" Stretch="None"></Image>
  39. </DockPanel>
  40. <TextBlock DockPanel.Dock="Bottom" HorizontalAlignment="Center" Text="CopyToController" FontSize="18" ></TextBlock>
  41. </DockPanel>
  42. </Button.Content>
  43. </Button>
  44. <Button Grid.Row="0" Grid.Column="3" Width="200" Height="150" Command="{Binding btn3}" CommandParameter="btn3" >
  45. <Button.Content>
  46. <DockPanel Margin="5">
  47. <DockPanel DockPanel.Dock="Top">
  48. <intr:Interaction.Triggers>
  49. <intr:EventTrigger EventName="MouseEnter">
  50. <intr:InvokeCommandAction Command="{Binding MouseEnterCommand}" CommandParameter="MouseEnter"/>
  51. </intr:EventTrigger>
  52. <intr:EventTrigger EventName="MouseLeave">
  53. <intr:InvokeCommandAction Command="{Binding MouseLeaveCommand}" CommandParameter="MouseLeave" />
  54. </intr:EventTrigger>
  55. </intr:Interaction.Triggers>
  56. <Image Margin="5" Source= "{Binding ThirdImageSource}" Width="160"></Image>
  57. </DockPanel>
  58. <TextBlock DockPanel.Dock="Bottom" HorizontalAlignment="Center" Text="CopyToController" FontSize="18"></TextBlock>
  59. </DockPanel>
  60. </Button.Content>
  61. </Button>
  62. </DockPanel>
  63. </Grid>
  64. </UserControl>
  65.  
  66. namespace buttonimage.ViewModel
  67. {
  68. public class buttonimageviewmodel : INotifyPropertyChanged
  69. {
  70. private ImageSource __firstImageSource;
  71. public ImageSource FirstImageSource {
  72. get
  73. {
  74. return __firstImageSource;
  75. }
  76. set
  77. {
  78. if (value != null)
  79. {
  80. __firstImageSource= value;
  81. OnPropertyChanged("FirstImageSource ");
  82. }
  83. }}
  84. private ImageSource _secondImageSource;
  85. public ImageSource SecondImageSource {
  86. get
  87. {
  88. return _secondImageSource;
  89. }
  90. set
  91. {
  92. if (value != null)
  93. {
  94. _secondImageSource;= value;
  95. OnPropertyChanged("SecondImageSource ");
  96. }
  97. }}
  98. private ImageSource _thirdImageSource;
  99. public ImageSource ThirdImageSource {
  100. get
  101. {
  102. return _thirdImageSource;
  103. }
  104. set
  105. {
  106. if (value != null)
  107. {
  108. _thirdImageSource;= value;
  109. OnPropertyChanged(" ThirdImageSource ");
  110. }}
  111. }
  112. public ICommand MouseEnterCommand
  113. {
  114. get
  115. {
  116. return new RelayCommand(a => this.Executemethod(), p => Canexecutemethod());
  117. }
  118. }
  119. public bool Canexecutemethod()
  120. {
  121. return true;
  122. }
  123. public void Executemethod(){
  124. Console.WriteLine(DateTime.Now.ToLongTimeString());
  125. string name = (sender as Button).Name;
  126. switch(name)
  127. {
  128. case "btn1":
  129. FirstImageSource = new BitmapImage(new Uri(@"C:Imagesfirstimgmouseenter.png", UriKind.Relative));
  130. break;
  131. case "btn2":
  132. SecondImageSource = new BitmapImage(new Uri(@"C:Imagessecondimgmouseenter.png", UriKind.Relative));
  133. break;
  134. case "btn3":
  135. ThirdImageSource = new BitmapImage(new Uri(@"C:Imagesthirdimgmouseenter.png", UriKind.Relative));
  136. break;
  137. }}
  138. public ICommand MouseLeaveCommand
  139. {
  140. get
  141. {
  142. return new RelayCommand(a => this.Executemethod(a), p => canexecutemethod(p));
  143. }
  144. }
  145. public bool canexecutemethod(object a)
  146. {
  147. return true;
  148. }
  149. public void executemethod(object p)
  150. {
  151. string name = Convert.ToString(p);
  152. switch (name)
  153. {
  154. case "btn1":
  155. FirstImageSource = new BitmapImage(new Uri(@"C:Imagesfirstimgmousleave.png", UriKind.Relative));
  156. break;
  157. case "btn2":
  158. SecondImageSource = new BitmapImage(new Uri(@"C:Imagessecondimgmouseleave.png", UriKind.Relative));
  159. break;
  160. case "btn3":
  161. ThirdImageSource = new BitmapImage(new Uri(@"C:Imagesthirdimgmouseleave.png", UriKind.Relative));
  162. break;
  163. }
  164. }
  165.  
  166. private void OnPropertyChanged(string v)
  167. {
  168. if (PropertyChanged != null)
  169. PropertyChanged(this, new PropertyChangedEventArgs(v));
  170. }
  171. public event PropertyChangedEventHandler PropertyChanged;
  172. }}
  173.  
  174. namespace buttonimage
  175. {
  176.  
  177. public partial class buttonimageview: UserControl
  178. {
  179. public buttonimageview()
  180. {
  181. InitializeComponent();
  182. }
  183. }
  184. }
Add Comment
Please, Sign In to add comment