我想通过关闭按钮关闭一个窗口,然后打开另一个窗口或子窗口。我做错了什么。
视图模型:
private ICommand _closeCommand;
public ICommand CloseCommand
{
get { return _closeCommand ?? (_closeCommand = new CommandHandler(() => MyClose(), _canExecute)); }
}
public void MyClose()
{
SecondWindow window = new SecondWindow() { DataContext = new SecondWindowViewModel() };
window.Show();
App.Current.MainWindow.Close();
App.Current.MainWindow = window;
}
XmaI位:
<Button Command ="{Binding CloseCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}" Name="Close" Content="Close" HorizontalAlignment="Left" Margin="535,379,0,0" VerticalAlignment="Top" Width="75"/>
答案 0 :(得分:0)
根据我们的评论对话,这是你得到的错误:
'SecondWindow'不包含'Show'和no的定义 扩展方法'显示'接受类型的第一个参数 可以找到'SecondWindow'(你是否错过了使用指令或者 装配参考?)
这告诉我你的问题是你不是从Window类或任何其他包含Show()方法的类派生的。当您尝试将SecondWindow类分配给Mainwindow时,您会收到以下错误,这进一步加强了这种推测:
无法隐式转换类型'SampleApplication.View.SecondWindow' 到'System.Windows.Window'