<Grid x:Name="LayoutRoot" Background="White">
<ig:XamDialogWindow Content="Dialog Window"
x:Name="DialogWindow" Width="200" Height="200"
Moved="DialogWindow_Moved" Moving="DialogWindow_Moving"/>
</Grid>
ダイアログ ウィンドウの移動に関連付けられたイベントは 2 つあります。これらのイベントは発生する順序を反映して接尾辞 "ing" または "ed" が追加されます。移動イベントによって、ダイアログ ウィンドウが移動される前または後でカスタム ロジックを実行することができます。
Moving - ダイアログ ウィンドウが移動される直前に Moving イベントが発生します。特定の条件に合わない場合このイベントをキャンセルできます。
Moved - ダイアログ ウィンドウが移動された後でこのイベントが発生します。
XAML の場合:
<Grid x:Name="LayoutRoot" Background="White">
<ig:XamDialogWindow Content="Dialog Window"
x:Name="DialogWindow" Width="200" Height="200"
Moved="DialogWindow_Moved" Moving="DialogWindow_Moving"/>
</Grid>
Visual Basic の場合:
Imports Infragistics.Controls.Interactions
…
AddHandler DialogWindow.Moved, AddressOf DialogWindow_Moved
AddHandler DialogWindow.Moving, AddressOf DialogWindow_Moving
…
Private Sub DialogWindow_Moving(ByVal sender As System.Object, ByVal e As MovingEventArgs)
'ダイアログ ウィンドウを 200 ピクセル以上移動することを許可しないでください
If (e.Left > 200) Then
e.Cancel = True
System.Diagnostics.Debug.WriteLine("Moving Cancelled")
Return
End If
System.Diagnostics.Debug.WriteLine("Dialog Window Moving Successfully")
End Sub
Private Sub DialogWindow_Moved(ByVal sender As System.Object, ByVal e As MovedEventArgs)
System.Diagnostics.Debug.WriteLine("Dialog Window has moved successfully.
New left coordinate is " + e.Left.ToString() +
", new top coordinate is " + e.Top.ToString())
End Sub
C# の場合:
using Infragistics.Controls.Interactions;
…
DialogWindow.Moved += new EventHandler<MovedEventArgs>(DialogWindow_Moved);
DialogWindow.Moving += new EventHandler<MovingEventArgs>(DialogWindow_Moving);
…
void DialogWindow_Moving(object sender, MovingEventArgs e)
{
//ダイアログ ウィンドウを 200 ピクセル以上移動することを許可しないでください
if (e.Left > 200)
{
e.Cancel = true;
System.Diagnostics.Debug.WriteLine("Moving Cancelled");
return;
}
System.Diagnostics.Debug.WriteLine("Dialog Window Moving Successfully");
}
void DialogWindow_Moved(object sender, MovedEventArgs e)
{
System.Diagnostics.Debug.WriteLine("Dialog Window has moved successfully.
New Left coordinate is "+e.Left+
", new top coordinate is "+e.Top);
}