我正在尝试通过主窗口上的操作打开一个新窗口。
我有一个主窗口布局MainWindow.axml
:
<Window x:Name="Capacity_Restrictions" x:Class="PayloadRestrictions.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:PayloadRestrictions"
mc:Ignorable="d"
Title="Capacity Restrictions" Height="551.677" Width="879.614">
...
</Window>
然后是我要打开EditTextWindow.xaml
的窗口:
<Window x:Name="Capacity_Restrictions" x:Class="PayloadRestrictions.EditTextWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:PayloadRestrictions"
mc:Ignorable="d"
Title="Editing" Height="100" Width="100">
...
</Window>
然后在我的MainWindow.xaml.cs
中,我拥有:
namespace PayloadRestrictions
{
public partial class EditTextWindow : Window
{
public EditTextWindow()
{
InitializeComponent();
}
}
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
void Row_DoubleClick(object sender, MouseButtonEventArgs e)
{
DataGridRow row = sender as DataGridRow;
// Some operations with this row
var window = new EditTextWindow();
window.Show();
}
...
}
}
每次我尝试构建项目时,在InitializeComponent();
部分类的EditTextWindow
行上都会出现错误:
The name 'InitializeComponent' does not exist in the current context PayloadRestrictions
对我在这里做错的任何建议吗?
答案 0 :(得分:0)
至少一个问题是,两个窗口在您的xaml文件中具有相同的名称。
解决方案是按照Andy的指示将它们分解为单独的文件。然后,您可以启动子窗口,例如:
EditTextWindow window = new EditTextWindow();
window.Show();