diff --git a/Pair/PairV.xaml b/Pair/PairV.xaml
index 5d0dde0..3c1a25c 100644
--- a/Pair/PairV.xaml
+++ b/Pair/PairV.xaml
@@ -27,10 +27,12 @@
+ Content="{Binding Conferma_Msg}"
+ Command="{Binding ConfermaCmd}"/>
+ Content="{Binding Annulla_Msg}"
+ Command="{Binding AnnullaCmd}"/>
diff --git a/Pair/PairV.xaml.vb b/Pair/PairV.xaml.vb
index 61dd6f6..41d616e 100644
--- a/Pair/PairV.xaml.vb
+++ b/Pair/PairV.xaml.vb
@@ -25,14 +25,6 @@ Public Class PairV
#Region "EVENTS"
- Public Sub Conferma_click() Handles Conferma.Click
- m_PairVM.Conferma()
- End Sub
-
- Public Sub Annulla_click() Handles Annulla.Click
- m_PairVM.Annulla()
- End Sub
-
Private Sub PairOption_Changed() Handles PairOption.SelectionChanged, FlipOption1.Click, FlipOption2.Click
If Not IsNothing(Map.refSceneButtonV.m_PairUC) Then m_PairVM.PairPartsAgain()
End Sub
diff --git a/Pair/PairVM.vb b/Pair/PairVM.vb
index 01fbeab..1eeacb9 100644
--- a/Pair/PairVM.vb
+++ b/Pair/PairVM.vb
@@ -40,6 +40,26 @@ Public Class PairVM
#End Region ' Messages
+ Private m_ConfermaCmd As ICommand
+ Public ReadOnly Property ConfermaCmd As ICommand
+ Get
+ If m_ConfermaCmd Is Nothing Then
+ m_ConfermaCmd = New Command(AddressOf Conferma)
+ End If
+ Return m_ConfermaCmd
+ End Get
+ End Property
+
+ Private m_AnnullaCmd As ICommand
+ Public ReadOnly Property AnnuallaCmd As ICommand
+ Get
+ If m_AnnullaCmd Is Nothing Then
+ m_AnnullaCmd = New Command(AddressOf Annulla)
+ End If
+ Return m_AnnullaCmd
+ End Get
+ End Property
+
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
@@ -57,7 +77,7 @@ Public Class PairVM
SolidManagerM.ResetOperationMarks(Map.refSceneHostV.m_nIdPart)
Map.refSceneButtonV.RemovePairUC()
EgtDraw()
- Dim Btn As SceneBtn = DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_PAIR)
+ Dim Btn As SceneBtn = Map.refSceneButtonVM.GetButton(EGT_PAIR)
If TypeOf (Btn) Is _ToggleButton Then
DirectCast(Btn, _ToggleButton).IsChecked = False
Else
@@ -69,7 +89,7 @@ Public Class PairVM
SolidManagerM.ResetOperationMarks(Map.refSceneHostV.m_nIdPart)
Map.refSceneButtonV.RemovePairUC()
EgtDraw()
- Dim Btn As SceneBtn = DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_PAIR)
+ Dim Btn As SceneBtn = Map.refSceneButtonVM.GetButton(EGT_PAIR)
If TypeOf (Btn) Is _ToggleButton Then
DirectCast(Btn, _ToggleButton).IsChecked = False
Else
diff --git a/Rotate/RotateV.xaml b/Rotate/RotateV.xaml
index 57daad4..3a82e80 100644
--- a/Rotate/RotateV.xaml
+++ b/Rotate/RotateV.xaml
@@ -29,10 +29,12 @@
+ Content="{Binding Conferma_Msg}"
+ Command="{Binding ConfermaCmd}"/>
+ Content="{Binding Annulla_Msg}"
+ Command="{Binding AnnullaCmd}"/>
diff --git a/Rotate/RotateV.xaml.vb b/Rotate/RotateV.xaml.vb
index 4c58205..c09f407 100644
--- a/Rotate/RotateV.xaml.vb
+++ b/Rotate/RotateV.xaml.vb
@@ -27,15 +27,7 @@
Private Sub Init() Handles Me.Loaded
Dim PartSolidSel As PartSolidM = SolidManagerM.GetPartSolid(Map.refSceneHostV.m_nIdPart)
- If IsNothing(PartSolidSel) Then Annulla_click()
- End Sub
-
- Private Sub Conferma_click() Handles Conferma.Click
- m_RotateVM.Conferma()
- End Sub
-
- Private Sub Annulla_click() Handles Annulla.Click
- m_RotateVM.Annulla()
+ If IsNothing(PartSolidSel) Then m_RotateVM.Annulla()
End Sub
Public Sub AngText_Changed() Handles RotInputData.TextChanged
diff --git a/Rotate/RotateVM.vb b/Rotate/RotateVM.vb
index 2572c31..852b748 100644
--- a/Rotate/RotateVM.vb
+++ b/Rotate/RotateVM.vb
@@ -34,6 +34,27 @@ Public Class RotateVM
#End Region ' Messages
+ Private m_ConfermaCmd As ICommand
+ Public ReadOnly Property ConfermaCmd As ICommand
+ Get
+ If m_ConfermaCmd Is Nothing Then
+ m_ConfermaCmd = New Command(AddressOf Conferma)
+ End If
+ Return m_ConfermaCmd
+ End Get
+ End Property
+
+ Private m_AnnullaCmd As ICommand
+ Public ReadOnly Property AnnullaCmd As ICommand
+ Get
+ If m_AnnullaCmd Is Nothing Then
+ m_AnnullaCmd = New Command(AddressOf Annulla)
+ End If
+ Return m_AnnullaCmd
+ End Get
+ End Property
+
+
#End Region ' Fields & Properties
#Region "METHODS"
@@ -42,7 +63,7 @@ Public Class RotateVM
Map.refSceneButtonV.RemoveRotateUC()
SolidManagerM.ResetOperationMarks(Map.refSceneHostV.m_nIdPart)
EgtDraw()
- Dim Btn As SceneBtn = DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_ROTATE)
+ Dim Btn As SceneBtn = Map.refSceneButtonVM.GetButton(EGT_ROTATE)
If TypeOf (Btn) Is _ToggleButton Then
DirectCast(Btn, _ToggleButton).IsChecked = False
Else
@@ -54,7 +75,7 @@ Public Class RotateVM
Map.refSceneButtonV.RemoveRotateUC()
SolidManagerM.ResetOperationMarks(Map.refSceneHostV.m_nIdPart)
EgtDraw()
- Dim Btn As SceneBtn = DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_ROTATE)
+ Dim Btn As SceneBtn = Map.refSceneButtonVM.GetButton(EGT_ROTATE)
If TypeOf (Btn) Is _ToggleButton Then
DirectCast(Btn, _ToggleButton).IsChecked = False
Else
@@ -63,7 +84,7 @@ Public Class RotateVM
End Sub
Public Sub AngText_Changed()
- Dim Btn As SceneBtn = DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_ROTATE)
+ Dim Btn As SceneBtn = Map.refSceneButtonVM.GetButton(EGT_ROTATE)
If TypeOf (Btn) Is _ToggleButton Then
If Not DirectCast(Btn, _ToggleButton).IsChecked Then Return
Else