• <small id='4iB4g'></small><noframes id='4iB4g'>

    <tfoot id='4iB4g'></tfoot>
      <bdo id='4iB4g'></bdo><ul id='4iB4g'></ul>
    1. <i id='4iB4g'><tr id='4iB4g'><dt id='4iB4g'><q id='4iB4g'><span id='4iB4g'><b id='4iB4g'><form id='4iB4g'><ins id='4iB4g'></ins><ul id='4iB4g'></ul><sub id='4iB4g'></sub></form><legend id='4iB4g'></legend><bdo id='4iB4g'><pre id='4iB4g'><center id='4iB4g'></center></pre></bdo></b><th id='4iB4g'></th></span></q></dt></tr></i><div id='4iB4g'><tfoot id='4iB4g'></tfoot><dl id='4iB4g'><fieldset id='4iB4g'></fieldset></dl></div>

        <legend id='4iB4g'><style id='4iB4g'><dir id='4iB4g'><q id='4iB4g'></q></dir></style></legend>

        WPF:如何设置用户控件显示的对话框的所有者窗口?

        时间:2023-09-14
        <legend id='bZqyY'><style id='bZqyY'><dir id='bZqyY'><q id='bZqyY'></q></dir></style></legend>

            <i id='bZqyY'><tr id='bZqyY'><dt id='bZqyY'><q id='bZqyY'><span id='bZqyY'><b id='bZqyY'><form id='bZqyY'><ins id='bZqyY'></ins><ul id='bZqyY'></ul><sub id='bZqyY'></sub></form><legend id='bZqyY'></legend><bdo id='bZqyY'><pre id='bZqyY'><center id='bZqyY'></center></pre></bdo></b><th id='bZqyY'></th></span></q></dt></tr></i><div id='bZqyY'><tfoot id='bZqyY'></tfoot><dl id='bZqyY'><fieldset id='bZqyY'></fieldset></dl></div>

          1. <small id='bZqyY'></small><noframes id='bZqyY'>

            • <bdo id='bZqyY'></bdo><ul id='bZqyY'></ul>
                <tfoot id='bZqyY'></tfoot>

                    <tbody id='bZqyY'></tbody>
                  本文介绍了WPF:如何设置用户控件显示的对话框的所有者窗口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有一个包含这三种类型的 WPF 应用程序...

                  • 主窗口
                  • UserControlZack
                  • 窗口模式

                  UserControlZack1 位于我的 WindowMain...

                  UserControlZack1 显示一个 WindowModal 对话框...

                  <上一页>部分公共类 UserControlZack...私有子 SomeButton_Click(...)'实例化对话框并以模态方式打开...暗箱 As WindowModal = New WindowModal()框.所有者 = ?????box.ShowDialog()'如果对话框被接受,则处理用户输入的数据...如果 (box.DialogResult.GetValueOrDefault = True) 那么_SomeVar = box.SomeVar...万一结束子结束类

                  如何将 box.Owner 设置为正确的 Window,即我正在运行的 WindowMain 实例?

                  我不能使用 box.Owner = Me.Owner,因为'Owner' 不是 'ProjectName.UserControlZack' 的成员."

                  我不能使用 box.Owner = Me.Parent,因为它返回的是 Grid,而不是 Window.

                  我不能使用 box.Owner = WindowMain,因为'WindowMain' 是一种类型,不能用作表达式."

                  解决方案

                  尝试使用

                  .Owner = Window.GetWindow(this)

                  I've got a WPF application with these three types of things...

                  • WindowMain
                  • UserControlZack
                  • WindowModal

                  UserControlZack1 sits on my WindowMain...

                  <Window x:Class="WindowMain"
                          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                          xmlns:local="clr-namespace:ProjectName"
                          ...
                          Name="WindowMain">
                      <Grid>
                          ...
                          <local:UserControlZack x:Name="UserControlZack1" ... />
                          ...
                      </Grid>
                  </Window>
                  

                  UserControlZack1 displays a WindowModal dailog box...

                  Partial Public Class UserControlZack
                  
                     ...
                  
                      Private Sub SomeButton_Click(...)
                          'instantiate the dialog box and open modally...
                          Dim box As WindowModal = New WindowModal()
                          box.Owner = ?????
                          box.ShowDialog()
                          'process data entered by user if dialog box is accepted...
                          If (box.DialogResult.GetValueOrDefault = True) Then
                              _SomeVar = box.SomeVar
                              ...
                          End If
                      End Sub
                  
                  End Class
                  

                  How do I set box.Owner to the correct Window, my running instance of WindowMain?

                  I cannot use box.Owner = Me.Owner, because "'Owner' is not a member of 'ProjectName.UserControlZack'."

                  I cannot use box.Owner = Me.Parent, because that returns a Grid, not the Window.

                  I cannot use box.Owner = WindowMain, because "'WindowMain' is a type and cannot be used as an expression."

                  解决方案

                  Try to use

                  .Owner = Window.GetWindow(this)
                  

                  这篇关于WPF:如何设置用户控件显示的对话框的所有者窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                    • <i id='bXuA2'><tr id='bXuA2'><dt id='bXuA2'><q id='bXuA2'><span id='bXuA2'><b id='bXuA2'><form id='bXuA2'><ins id='bXuA2'></ins><ul id='bXuA2'></ul><sub id='bXuA2'></sub></form><legend id='bXuA2'></legend><bdo id='bXuA2'><pre id='bXuA2'><center id='bXuA2'></center></pre></bdo></b><th id='bXuA2'></th></span></q></dt></tr></i><div id='bXuA2'><tfoot id='bXuA2'></tfoot><dl id='bXuA2'><fieldset id='bXuA2'></fieldset></dl></div>

                        <tbody id='bXuA2'></tbody>
                    • <tfoot id='bXuA2'></tfoot>

                      • <bdo id='bXuA2'></bdo><ul id='bXuA2'></ul>

                        <legend id='bXuA2'><style id='bXuA2'><dir id='bXuA2'><q id='bXuA2'></q></dir></style></legend>

                        <small id='bXuA2'></small><noframes id='bXuA2'>