我正在尝试使用WPF的对话服务创建一个模态窗口。我已经找到了这个例子,并且正在尝试创建和学习
Modal dialogs with MVVM
我想在WPF中创建一个ChildWindow。我已经添加了扩展的WPF工具包,并将其添加为参考。我不能理解的是,我是如何将整个窗口变成ChildWindow的。在下面的代码中,我可以将扩展工具包名称空间添加到窗口,但不能使整个窗口成为ChildWindow。如何制作ChildWindow?
<Window x:Class="ModalPopupWindows.ErrorWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:custom="http://schemas.xceed.com/wpf/xaml/toolkit"
Title="ErrorWindow" Height="300" Width="300">
<custom:ChildWindow>
</custom:ChildWindow>
</Window>发布于 2015-03-23 08:48:43
没有真正的方法可以将窗口设置为“子窗口”,但您可以并且应该将新窗口设置为“所有者”。
var win = new MainWindow();
win.Owner = this;
win.DataContext = this.DataContext;
win.Closed += (() =>
{
//do this processing after window has been closed
});
win.ShowDialog(); //instead of ".Show();" this makes the window modalAFAIK这是正确的方法。当然,您可以通过多种方式为关闭的事件添加处理程序,这只是一个示例。还要考虑设置你需要的datacontext --这个例子将父窗口的datacontext直接传递给子窗口的/modal。
发布于 2015-03-23 21:27:13
Try This one
<Grid>
<Button x:Name="btnclick" Click="Button_Click"/>
</Grid>.cs页面
btnclick.Click +=new RoutedEventHandler(delegate(object sender, RoutedEventArgs e)
{
ChildWindow chldWindow = new ChildWindow();
MessageBox.Show(chldWindow.Getmessage());
chldWindow.ShowDialog();
});https://stackoverflow.com/questions/29199511
复制相似问题