2016-11-20 9 views
0

MainWindowは2つの列、左側に狭いもの1つ、右側に広いものの1つを持ちます。左側にはメニューバーがあり、右側にはFieldsのグリッドがあります(これはカスタムです)。しかし、今すぐプログラムを起動すると、2つのウィンドウが表示されます.1つはグリッドがあり、もう1つは左にメニューバーがあります。私は間違って何をしていますか?どこにエラーがありますか? C#WPF - MainWindowのコンテンツは、1つではなく2つの別々のウィンドウで表示されます

ター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も基本的なものです:私はそれをインスタンス化App.xaml.csMainWindow()への唯一つの基準は、

namespace SavageMaci 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
     } 
    } 
} 

あります。他にどこでエラーが発生するのか教えてください。そのコードで質問を更新します。助けてくれてありがとう!

+0

xamlとcsファイルの内容をコピーして別のプロジェクトを作成し、ソースファイルを再作成するだけです(特に.g.csファイルではなくファイル自体をコピーしないでください)。問題が解決しない場合は教えてください。 –

+0

私は完全に迷っているようです。新しいダミープロジェクトのためにコピー/修正する必要がある8つのクラスがあるので、私はあなたが提案したことを実際に行うことはできません。そのため、簡単な方法でボタンの 'Field'を使用しようとしましたカスタムクラスの代わりに。私が今やっていることは、ここで見つけることができます:https://codeshare.io/5DY1Wa しかし、今回は、私が表示するボタンのグリッドを得ることができません。 'Button'sを' Mainwindow'の 'DataContext'に追加しました... –

+0

私はそこに行ってきました、8つのクラスは何もありません..私はあなたがさらに問題を診断できるように言ったことを強くお勧めします。その間、あなたのコードを見ていきます。 –

答えて

0

問題の解決方法は簡単です。 Appクラスでは、MainWindowインスタンスを作成します。

作成するかどうかにかかわらず、Appが独自のインスタンスを作成するため、これは不要です。

App.xamlファイルを見ると、あなた自身が表示されます。

+1

ありがとう!私は実際にはAppクラスで作成したものを必要としますが、App.xamlからそれを削除すると助けになりました! –

+0

あなたは歓迎です:) –

関連する問題