Hallo Ihr WIssenden,
ich habe mir ein eigenes Textbox Usercontol erstellt und möchte dieses in ein DataGrid einfügen. Hierzu habe ich eine Klasse erstellt, welches mein UserControl beinhaltet. Diese Klasse habe ich mit dem DataGrid verbunden. Wenn ich die Spalten des DataGrids automatisch anlege, wird die Spalte mit dem UserControl nur mit dem Projektnamen und dem Namen des Usercontrols befüllt während die Spalte mit dem Vornamen ordnungsgemäß befüllt wird. Ich dachte, dies liegt daran, dass die Spalten im Default als Textspalten angelegt werden. Aus diesem Grund habe ich nochmal versucht die Spalten manuell im Xaml anzulegen. Aber hier schaffe ich es nicht die Text Eigenschaft meiner eigenen Textbox mit dem Inhalt der Spalte Vorname zu verbinden. Wenn ich den Text Inhalt manuell im Code befülle funktioniert es wie gewollt. Wenn ich den Textinhalt aber versuche mit der Spalte zu binden wird mir ein Fehler ausgeworfen.
Wie gesagt: Die Spalte mit dem Vornamen ist richtig gebunden und zeigt auch wie gewünscht den Inhalt an. Dieser Inhalt müsste für die Eigenschaft Text in der Spalte mit dem Control MyTextbox verwendet werden. Dies geht leider nicht.
Ich komme hier irgendwie nicht weiter.
Ich würde mich freuen, wenn jemand helfen könnte.
Lieben Dank.
Chris
ich habe mir ein eigenes Textbox Usercontol erstellt und möchte dieses in ein DataGrid einfügen. Hierzu habe ich eine Klasse erstellt, welches mein UserControl beinhaltet. Diese Klasse habe ich mit dem DataGrid verbunden. Wenn ich die Spalten des DataGrids automatisch anlege, wird die Spalte mit dem UserControl nur mit dem Projektnamen und dem Namen des Usercontrols befüllt während die Spalte mit dem Vornamen ordnungsgemäß befüllt wird. Ich dachte, dies liegt daran, dass die Spalten im Default als Textspalten angelegt werden. Aus diesem Grund habe ich nochmal versucht die Spalten manuell im Xaml anzulegen. Aber hier schaffe ich es nicht die Text Eigenschaft meiner eigenen Textbox mit dem Inhalt der Spalte Vorname zu verbinden. Wenn ich den Text Inhalt manuell im Code befülle funktioniert es wie gewollt. Wenn ich den Textinhalt aber versuche mit der Spalte zu binden wird mir ein Fehler ausgeworfen.
Als Fehler wird mir ausgeworfen: System.Windows.Markup.XamlParseException: ""Binding" kann nicht für die Eigenschaft "Text" vom Typ "MyTextbox" festgelegt werden. "Binding" kann nur für eine "DependencyProperty" eines "DependencyObject" festgelegt werden."
Quellcode
- <DataGrid x:Name="dgMain" Width="Auto" AutoGenerateColumns="True" ItemsSource="{Binding Path=PersonsList}">
- <DataGrid.Columns>
- <DataGridTextColumn Binding="{Binding FirstName}" Header="FirstName"/>
- <DataGridTemplateColumn>
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <local:MyTextbox Text=""/>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- </DataGrid.Columns>
- </DataGrid>
Wie gesagt: Die Spalte mit dem Vornamen ist richtig gebunden und zeigt auch wie gewünscht den Inhalt an. Dieser Inhalt müsste für die Eigenschaft Text in der Spalte mit dem Control MyTextbox verwendet werden. Dies geht leider nicht.
Ich komme hier irgendwie nicht weiter.
Ich würde mich freuen, wenn jemand helfen könnte.
Lieben Dank.
Chris