0

私はこのチュートリアルからモーダル ダイアログを学んでいます: http://www.codeproject.com/Articles/36516/WPF-Modal-DialogGrid.Column 、しかし、そのモーダル ダイアログが領域/Grid.Rowsのみでブロックされていることを示すことは可能ですか?別のGrid.Column/Grid.Rowsまだアクセス可能ですか?

ありがとう。

4

2 に答える 2

0

現在、モーダル ダイアログで完全なグリッドをオーバーレイしている可能性があります。

<Grid>
    <Grid x:Name="ModalDialogParent">
        ...
    </Grid>

    <controls:ModalDialog x:Name="ModalDialog" />
</Grid>

代わりに、グリッドに配置してその位置を指定することにより、モーダルダイアログを親グリッドの特定の部分に修正するだけで動作する¹

<Grid x:Name="ModalDialogParent">
    ...

    <controls:ModalDialog x:Name="ModalDialog"
                          Grid.Row="1" Grid.Column="1"
                          Grid.RowSpan="2" Grid.ColumnSpan="2" />
</Grid>

¹ リンク先のモーダル ダイアログ コードに慣れていないので、今すぐざっと見ただけです。

于 2013-02-05T09:17:38.190 に答える
0

モーダルダイアログの定義は次のとおりです(強調は私のものです):

ユーザー インターフェイスの設計では、モーダル ウィンドウは子ウィンドウであり、ユーザーが親アプリケーションの操作に戻る前にモーダル ウィンドウを操作する必要があるため、アプリケーションのメイン ウィンドウでのワークフローが妨げられます。モーダル ウィンドウは、ダイアログ ボックスを表示するために使用されることが多いため、ヘビー ウィンドウまたはモーダル ダイアログと呼ばれることがよくあります。

したがって、モーダル ダイアログ ボックスが必要な場合、質問に対する答えはノーです。グリッドの特定のセクションをブロックしたいだけの場合は、使用を禁止したいセクションに対してダイアログを UserControl としてロードするだけです。その後も、アプリケーションの残りの部分にアクセスできます。

于 2013-02-06T02:38:50.860 に答える