xamDialogWindow™ コントロールの動作には次のような制約や特徴があります。
-
xamDialogWindow コントロールはそのコンテナーの外側に移動できません。
-
xamDialogWindow コントロールはそのコンテナーより大きいサイズにリサイズできません。
-
エンドユーザーが xamDialogWindow コントロールを最大化すると、コントロールはコンテナー一杯に最大化します。そのコンテナーが動的なサイズ変更に対応したものである場合、コンテナーのサイズを変更すると、それに伴って xamDialogWindow コントロールのサイズも変化し、コンテナー内で最大化した状態を維持しつづけます。
-
xamDialogWindow コントロールがフォーカスを取得できるのは同じコンテナーのその他のダイアログ ウィンドウのみです。
xamDialogWindow コントロールの Canvas.Top、Canvas.Left、Grid.Row、Grid.Column といった添付プロパティを設定すると、望ましくない動作が発生します。ダイアログ ウィンドウをコンテナーに制限したい場合、ダイアログを含むコンテナーで添付プロパティを設定する必要があります。
以下のコードは、グリッド パネルの 2 番目の列と 2 番目の行にダイアログ ウィンドウを制限する方法を示します。
<Grid x:Name="LayoutRoot" Background="White" ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="400"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="200"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
</Grid.RowDefinitions>
<Border Grid.Column="1" Grid.Row="1"
BorderBrush="Black" BorderThickness="2">
<ig:XamDialogWindow x:Name="Dialog1" Header="Dialog1">
</ig:XamDialogWindow>
</Border>
</Grid>
同じコンテナーに制限されたダイアログ ウィンドウを複数持つことも可能です。これはコンテナー内でもうひとつのパネルを使用することによって実行できます。
<Grid x:Name="LayoutRoot" Background="White" ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition ></ColumnDefinition>
<ColumnDefinition Width="400"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="200"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
</Grid.RowDefinitions>
<Border Grid.Column="1" Grid.Row="1" BorderBrush="Black"
BorderThickness="2">
<Grid>
<ig:XamDialogWindow x:Name="Dialog1">
</ig:XamDialogWindow>
<ig:XamDialogWindow x:Name="Dialog2">
</ig:XamDialogWindow>
</Grid>
</Border>
</Grid>