我有一个使用ICDBurn接口的WPF应用程序将一些数据刻录到磁盘上。
调用ICDBurn::Burn
后,会显示一个对话框,用户在处理此对话框之前不应继续使用该应用程序,这不是默认行为。
我尝试将IntPtr.Zero
以及应用程序主窗口句柄作为父ICDBurn::Burn
传递,但结果是一样的。
所以我希望这个对话框是模态的,但我也愿意将这个对话框设置为总是在顶部。
作为第一步,我想我需要一个对话框窗口的句柄。我试过EnumChildWindows
但没有在那里找到对话框。
如何将此对话框设置为模态?
编辑:
根据IInspectable的评论,我可能会将错误的窗口句柄传递给Burn。我正在使用new WindowInteropHelper(Application.Current.MainWindow).Handle
,我认为我在应用程序中没有使用其他窗口。
答案 0 :(得分:0)
啊,WPF ......
要使ICDBurn :: Burn正确打开为模式对话框,必须在UI线程上调用它(使用Application.Current.MainWindow.Dispatcher
)。