我希望有一个MainWindow
有两列,左边是窄列,右边是宽。在左边一个应该是菜单栏,在右边一个是Fields
的网格(这是一个自定义ViewModelBase
)。但是,现在当我启动程序时,它给了我两个窗口,一个带有网格,一个带有菜单栏左边。我究竟做错了什么?哪里可能是错误?
Tha XAML看起来像这样:
<Window x:Class="SavageMaci.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Test" Height="500" Width="700">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Menu Grid.Row="1" Grid.Column="1" Margin="38,0,187,430" Background="White">
<Menu.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="90"/>
<TranslateTransform/>
</TransformGroup>
</Menu.RenderTransform >
<MenuItem Header="Level 1" FontFamily="Roboto" Height="32" Width="65"/>
<MenuItem Header="Level 2" FontFamily="Roboto" Height="32" Width="65"/>
<MenuItem Header="Level 3" FontFamily="Roboto" Height="32" Width="65"/>
</Menu>
<ItemsControl Grid.Row="1" Grid.Column="2" ItemsSource="{Binding Fields}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="{Binding Size}" Columns="{Binding Size}"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
</Window>
xaml.cs也是基本的:
namespace SavageMaci
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
MainWindow()
中只有App.xaml.cs
的一个引用,我在hadoopRdd -> Filter -> map
中实例化它。请告诉我错误的其他地方,我也会用该代码更新问题。谢谢你的帮助!
答案 0 :(得分:0)
解决问题的方法很简单。在App类中,创建一个MainWindow实例。
这是不必要的,因为无论您是否创建,App都会创建自己的实例。
查看App.xaml文件,您将亲眼看到。