<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); }