我有一个包含这三种类型的 WPF 应用程序......
- 主窗口
- 用户控制扎克
- 窗口模式
UserControlZack1 位于我的 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 显示一个 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
,因为它返回一个网格,而不是窗口。
我不能使用box.Owner = WindowMain
,因为“'WindowMain' 是一种类型,不能用作表达式。”