Guest User

Untitled

a guest
Apr 26th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. <ItemsControl x:Name="ic_canvas" Grid.Column="1">
  2. <ItemsControl.ItemsPanel>
  3. <ItemsPanelTemplate>
  4. <Canvas/>
  5. </ItemsPanelTemplate>
  6. </ItemsControl.ItemsPanel>
  7. <ItemsControl.ItemTemplate>
  8. <DataTemplate>
  9. <ContentPresenter Content="{Binding SelectedControl}" MouseDown="ContentPresenter_MouseDown" MouseMove="ContentPresenter_MouseMove" MouseUp="ContentPresenter_MouseUp">
  10. <ContentPresenter.RenderTransform>
  11. <TransformGroup>
  12. <TranslateTransform X="{Binding Pos.X}" Y="{Binding Pos.Y}"/>
  13. <RotateTransform Angle="{Binding Angle}"/>
  14. </TransformGroup>
  15. </ContentPresenter.RenderTransform>
  16. </ContentPresenter>
  17. </DataTemplate>
  18. </ItemsControl.ItemTemplate>
  19. </ItemsControl>
  20.  
  21. public class ViewModel : INotifyPropertyChanged
  22.  
  23.  
  24. {
  25.  
  26. Point pos1;
  27.  
  28. UserControl selectedControl;
  29.  
  30. public Point Pos
  31. {
  32. get { return pos1; }
  33. set
  34. {
  35. pos1 = value;
  36. if (PropertyChanged != null)
  37. PropertyChanged(this, new PropertyChangedEventArgs("Pos"));
  38. }
  39. }
  40.  
  41. public UserControl SelectedControl
  42. {
  43. get
  44. {
  45. return selectedControl;
  46. }
  47. set
  48. {
  49. selectedControl = value;
  50. NotifyPropertyChanged("SelectedControl");
  51. }
  52. }
  53.  
  54. public event PropertyChangedEventHandler PropertyChanged;
  55. private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
  56. {
  57. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  58. }
  59. internal void MoveRef(Vector vector)
  60. {
  61. Pos += vector;
  62. if (PropertyChanged != null)
  63. {
  64. PropertyChanged(this, new PropertyChangedEventArgs("Pos"));
  65. }
  66. }
  67.  
  68. }
  69.  
  70. <Grid>
  71.  
  72. <Ellipse Width="5" Height="5" Fill="Black" MouseEnter="Ellipse_MouseEnter" MouseLeave="Ellipse_MouseLeave" Margin="98,22,-3,22"/>
  73. <Ellipse Width="5" Height="5" Fill="Black" MouseEnter="Ellipse_MouseEnter_1" MouseLeave="Ellipse_MouseLeave_1" Margin="-3,22,98,22"/>
  74. <ItemsControl x:Name="ic_battary">
  75. <ItemsControl.ItemsPanel>
  76. <ItemsPanelTemplate>
  77. <StackPanel/>
  78. </ItemsPanelTemplate>
  79. </ItemsControl.ItemsPanel>
  80. <ItemsControl.ItemTemplate>
  81. <DataTemplate>
  82.  
  83. <Image Source="{Binding img}" Margin="10" Width="100" Height="50"/>
  84.  
  85. </DataTemplate>
  86. </ItemsControl.ItemTemplate>
  87. </ItemsControl>
  88. </Grid>
Add Comment
Please, Sign In to add comment