| 

.NET C# Java Javascript Exception

6
Folgendes Szenario, ich habe in einer View ein Datagrid und möchte nun eine Spalte davon, durch eine andere View "stylen".
Gesagt sei noch, es handelt sich hier um ein 3rd Party Datagrid von Infragistics, sollte aber nicht unbedingt von Relevanz sein.. (hoffe ich)

Die Daten hole ich mir hier aus einer ObservableCollection
<datagrid:XamDataGrid x:Name="xamDataGrid" DataSource="{Binding CustomerList}" />


Also, wenn ich innerhalb der View wo sich das Grid befindet, eine Zelle mit einer Textbox style, mache ich das so
Definition:
<Style TargetType="{x:Type datagrid:CellValuePresenter}" x:Key="OwnStylingTextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type datagrid:CellValuePresenter}">
<TextBox Background="Orange" Width="100" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

Binding:
<datagrid:Field Name="LastName" Label="Nachname">
<datagrid:Field.Settings>
<datagrid:FieldSettings CellValuePresenterStyle="{StaticResource OwnStylingTextBox}"/>
</datagrid:Field.Settings>
</datagrid:Field>

Das funktioniert auch soweit. Nun habe ich aber vor, in die Zelle ein customized View anstelle der Textbox zu stecken, weiss aber nicht wie ich in der neuen View an die Daten kommen soll.

Folgendes dazu habe ich in der View in der sich das Grid befindet:
<Style TargetType="{x:Type datagrid:CellValuePresenter}" x:Key="OwnStylingView">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type datagrid:CellValuePresenter}">
<view:OwnDataGridView DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

und die View welche gebunden werden soll sieht so aus:
<StackPanel Orientation="Horizontal">

<Image Source="../Images/computer_laptop.png" />
<TextBox Width="200" Background="AliceBlue" Text="{Binding Path=LastName}"/>

</StackPanel>


Leider kommt hier LastName/Content aber nicht an... Irgendwelche Ideen?

Edit: grml okay leider kein Code zu sehen, das ist leider sehr schlecht -.-
edit2: nun sollte man wenigstens etwas sehen : )
03.08.2009
Mario Priebe 5,7k 2 9
2
Hast du bbcode eingegeben? Also [code] hinhalt [/code]? Also bei mir ging es wunderbar.
Serda 03.08.2009
2
jep habe ich [code]< datagrid:XamDataGrid x:Name="xamDataGrid" DataSource="{Binding CustomerList}" / >[/code]
Mario Priebe 03.08.2009
2
Habe die Tags nun auseinander gerissen, die Jungs von Codekicker sollten n bissle Gas geben : )
Mario Priebe 03.08.2009
2
Jetzt ist es besser ;-)
Felix Schad 03.08.2009
2
perfekt : )
Mario Priebe 03.08.2009
1 Antwort
2
Hmm, lass mich bitte versuchen den Binding Path zu durchdenken:

ganz oben hast du die TextBox an Content gebunden, wobei Content dem LastName entspricht. Diese Information stammt aus dem zweiten Listing Name="LastName". Wenn dieses zweite Listing weiterhin so verwendet wird, dann würde das bedeuten, dass die View in Listing 3 an Content gebunden ist (der ja immer noch LastName ist) und du im Stackpanel versuchst Content.LastName, also LastName.LastName zu binden.

Ich würde mal versuchen im Stackpanel im Binding den Path wegzulassen.

maria
04.02.2011
Maria Simlinger 864 8
Danke für deine Antwort, nur leider ist das Problem schon etwas her und ich glaube das wir das mittlerweile gelöst bekommen haben ;)
Mario Priebe 05.02.2011
Ja, hab' ich nach der Antwort auch bemerkt. Da ich die info-mail über diese neue Forum gestern erhaltenhabe, dachte ich nicht daran, dass hier auch ältere Beiträge sein könnten.
Maria Simlinger 05.02.2011
Kein Problem, herzlichen Dank nochmal für Deine Hilfe.
Mario Priebe 05.02.2011
@maria: lustig finde ich, daß man bei einer Änderung selbst nochmal auftaucht, ist mit bei stackoverflow noch nicht aufgefallen :-)
ralf.w. 14.02.2011

Stelle deine .net-Frage jetzt!