2016-04-14 9 views
0

Ich versuche, ein einfaches WPF-Projekt zu erstellen, das über ein Textfeld eingegebene Schülerdetails aufnimmt und sie dann in einer Schülerdatenbank speichert, sobald die Schaltfläche zum Hinzufügen eines Schülers angeklickt wird. DieseAmbiguitätsfehler in WPF-App

funktionieren gut und wurde in der Datenbank kein Problem

private void OnAddNewStudent(object sender, RoutedEventArgs e) 
{ 
    using (db1104983Entities1 context = new db1104983Entities1()) //Contained within using so it automatically disposes when it is out of scope 
    { 
     Student student1 = new Student //creates new Student Object 
     { 
      MatricNo= txtM.Text, 
      FirstName = txt1.Text, 
      LastName = txt2.Text, 
      Component1 = txtcom1.Text, 
      Component2 = txtcom2.Text, 
      Component3 = txtcom3.Text, 
     }; 

     MessageBox.Show("Student Added Succesfully"); // Advises user the record has succesfully been added 
     context.Students.Add(student1); //Adds Student object to DB 
     context.SaveChanges(); // Commits change to dDB 

     //Clears all textboxes once record has been added 
     txtM.Clear(); 
     txt1.Clear(); 
     txt2.Clear(); 
     txtcom1.Clear(); 
     txtcom2.Clear(); 
     txtcom3.Clear(); 
    } 
} 

ich versuche jetzt Speicherung zu zeigen, was in der Datenbank ist die Datenbindungsmethode Ziehen Sie die gewünschte Tabelle, die in diesem Fall ist Schüler. Auf ein Raster in XAML.

Nun, da ich getan habe, so ist es nichts im Raster angezeigt wird, und es auch nicht mehr erfüllt und mir zu sagen, dass es Mehrdeutigkeit zwischen meinem matricno, Vornamen etc

Siehe Fehler

Error Message

Ich wollte nur überprüfen, ob es etwas wirklich Offensichtliches ist, das ich falsch gemacht habe?

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <TabControl HorizontalAlignment="Left" Height="320" VerticalAlignment="Top" Width="517"> 
     <TabItem Header="Input"> 
      <Grid Background="#FFE5E5E5" Margin="0,-1,-14,-7"> 
       <Button Content="Add Student" HorizontalAlignment="Left" Margin="10,252,0,0" VerticalAlignment="Top" Width="94" Height="26" Click="OnAddNewStudent"/> 
       <TextBox x:Name="txtM" HorizontalAlignment="Left" Height="23" Margin="148,25,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/> 
       <TextBox x:Name="txtcom1" HorizontalAlignment="Left" Height="23" Margin="355,22,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/> 
       <TextBox x:Name="txt1" HorizontalAlignment="Left" Height="23" Margin="148,75,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/> 
       <TextBox x:Name="txtcom2" HorizontalAlignment="Left" Height="23" Margin="355,75,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/> 
       <TextBox x:Name="txtcom3" HorizontalAlignment="Left" Height="23" Margin="355,128,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/> 
       <TextBox x:Name="txt2" HorizontalAlignment="Left" Height="23" Margin="148,128,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/> 
       <Label Content="First Name:" HorizontalAlignment="Left" Margin="11,75,0,0" VerticalAlignment="Top" Height="23" Width="93"/> 
       <Label Content="Matriculation No:" HorizontalAlignment="Left" Margin="11,22,0,0" VerticalAlignment="Top" Height="23" Width="105"/> 
       <Label Content="Last Name:" HorizontalAlignment="Left" Margin="11,128,0,0" VerticalAlignment="Top" Height="23" Width="93"/> 
       <Label Content="Com 1" HorizontalAlignment="Left" Margin="302,22,0,0" VerticalAlignment="Top"/> 
       <Label Content="Com 2" HorizontalAlignment="Left" Margin="302,72,0,0" VerticalAlignment="Top"/> 
       <Label Content="Com 3" HorizontalAlignment="Left" Margin="302,125,0,0" VerticalAlignment="Top"/> 
       <Button Content="Purge Database" HorizontalAlignment="Left" Margin="130,252,0,0" VerticalAlignment="Top" Width="94" Height="26" Click="OnPurgeDB"/> 
      </Grid> 
     </TabItem> 
     <TabItem Header="TabItem"> 
      <Grid Background="#FFE5E5E5"/> 
     </TabItem> 
    </TabControl> 

</Grid> 
</Window> 
+1

@nmtuan Parenthesis optional sind, wenn ein Objekt initializer verwenden. – CodingGorilla

+0

danke, ich habe etwas gelernt: D – rocketspacer

Antwort

0

Sie müssen in Ihrem XAML-Datei suchen

Dieser Fehler wird durch zwei Elemente mit dem gleichen Namen verursacht wird, entfernen oder umbenennen einer von ihnen

<Label x:Name="label" Content="Label" HorizontalAlignment="Left" Margin="74.778,81.038,0,0" VerticalAlignment="Top"/> 
    <Label x:Name="label" Content="Label" HorizontalAlignment="Left" Margin="83.781,135.057,0,0" VerticalAlignment="Top"/> 
+0

Hallo Mate, ich kann keine Duplikate in meinem XAML sehen, es ist ziemlich kurz. Bitte beachten Sie: http://i.imgur.com/crLefOp.png?1 – Conkbabes

+0

Ich denke, Sie müssen Namen zu Ihren Etiketten hinzufügen, die sie nicht zu haben scheinen. – GreatJobBob

+0

Ich sehe, es beschwert sich, dass component3 mehr als einmal definiert ist, aber ich sehe es in dem Code, den Sie gepostet haben, überhaupt nicht definiert. Sie könnten nach component3 Do Control Shift F suchen, um Dateien in der gesamten Lösung zu finden und nach Component3 zu suchen – GreatJobBob

0

Da Ihre Schüler Klasse a Teilklasse, wie ich in Ihrem Screenshot sah (http://i.imgur.com/crLefOp.png?1) Sie können in der Datei suchen, die den anderen Teil der Klasse für eine andere Deklaration mit demselben Namen enthält.

0

das Problem war, denn wenn ich gezogen hatte, und ließ das neue Datagrid es eine andere Datei mit den Variablennamen erstellt hatte, nachdem die Datei zu entfernen sie das Problem behoben