WPF Datagrid Bindung keine Werte anzeigen
Ich bin totaler Anfänger mit WPF und ich versuche zu machen, die Bindung an die datagrid in WPF
hier ist der XAML-code
<Grid x:Name="LayoutRoot">
<Grid HorizontalAlignment="Left" Height="440" VerticalAlignment="Top" Width="632">
<DataGrid HorizontalAlignment="Left" Height="420" Margin="10,10,0,0" VerticalAlignment="Top" Width="603" ItemsSource="{Binding Source=MailCollection}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="id" Binding="{Binding Id}"/>
<DataGridTextColumn Header="nazwa" Binding="{Binding Name}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
Hier ist MailTpl Klasse
public class MailTpl
{
public string Id { get; set; }
public string Name { get; set; }
}
Und hier ist, wie ich es Tue Bindung
public partial class WindowDataGridTest : Window
{
ObservableCollection<MailTpl> _MailCollection = new ObservableCollection<MailTpl>();
public ObservableCollection<MailTpl> MailCollection { get { return _MailCollection; } }
public WindowDataGridTest()
{
_MailCollection.Add(new MailTpl { Id= "abbb", Name = "badfasdf" });
_MailCollection.Add(new MailTpl { Id = "asasdfasdfdf", Name = "basdfasdfaa" });
this.InitializeComponent();
//Insert code required on object creation below this point.
}
}
Ich weiß nicht, warum es nicht funktioniert. Irgendwelche Hinweise? Grid zeigt keine Werte.
InformationsquelleAutor Robert | 2013-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur ein Rat für die Zukunft.
Visual studio -> Optionen -> Debugging -> Output-Fenster -> WPF Trace Settings.
Hier können Sie den Grad der Ausführlichkeit und finden Sie wichtige Informationen über die Datenbindung im Ausgang Fenster. Es hat mich gerettet Stunden.
Nun das reson.
Sie erklärt MailCollection als public-Eigenschaft des Fensters, sondern die Bindung erfolgt gegen DataContext standardmäßig.
So, haben Sie zwei Möglichkeiten:
und Bindung ändern ein wenig zu
oder einfach nur die Bindung an diese:
Ich auch empfehlen, das pdf Bindung-Spickzettel. Es fehlen einige WPF 4.5 features, aber immer noch nützlich.
Danke für die "WPF Trace" Spitze, es hat mir geholfen zu verstehen, mein problem zu!
InformationsquelleAutor Pavel Voronin
Sie vergessen haben, schreiben Sie diese in WindowDataGridTest () - Konstruktor.
InformationsquelleAutor Farhad Jabiyev
Haben Sie nicht die ObservableCollection gebunden an das DataGrid.
Hier ist der Schritt zum erreichen Ihres Problems.
Definieren Sie einen Namen für das DataGrid. (Sagen wir mal
myDataGrid
)dann fügen Sie folgenden code in den Konstruktor der CodeBehind-Datei
Und schauen Sie bitte auf dieses tutorial erfahren Sie mehr über data binding
Als Neueinsteiger, WPF, empfehle ich Ihnen die Anwendung von MVVM auf Ihre Bewerbung. Und erfahren Sie mehr über INotifyPropertyChanged, DataBinding...
Ich habe schon gelesen das einige über Sie, aber ich werde mehr Lesen.
InformationsquelleAutor Haritha
Gleiche problem, das ich konfrontiert, dann habe ich es gelöst, indem incresing raster Höhe.
Stellen Sie sicher, dass Ihr Stromnetz Höhe ist genug, um Daten anzuzeigen.
InformationsquelleAutor TAHA SULTAN TEMURI