| 

.NET C# Java Javascript Exception

5
Hallo,

ich habe folgendes Problem. Ich versuche eine ViewModel an ein WPF Steuerelement zu binden:

ViewModel
Imports Microsoft.Practices.Prism.ViewModel

Namespace ViewModels

Public Class OrderlistViewModel
Inherits NotificationObject

public ReadOnly Orders as ICollection(Of GestaltungsAuftrag)

public sub new(byval repo As DesignOrderRepositoryModule)
Orders = repo.Repo.GetAllDesignOrders()
End Sub

End Class
End NameSpace


Code Behind
Namespace Views

Public Class OrderlistView

Public Sub New(ByVal viewModel As OrderlistViewModel)

InitializeComponent()

' Set the ViewModel as this View's data context.
DataContext = viewModel

End Sub

End Class
End Namespace


XAML:
<UserControl x:Class="Views.OrderlistView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:prism="http://www.codeplex.com/prism"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">

<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>

<DataGrid Grid.Row="0" Grid.Column="0" Name="OrdersGrid"
ItemsSource="{Binding Path=Orders}" AutoGenerateColumns="True"/>
</UserControl>


Leider wird das Property "Orders" nicht gebunden. Wenn ich die "ItemsSource" im Code-Behind zuweise klappt es einwandfrei. Was mache ich falsch?

Danke,

Bandit
15.03.2012
TiMeBaNDiT76 294 2 7
3 Antworten
1
Hi,

bei Bindingproblemen greif ich grundsätzlich zu Snoop.

Viel Erfolg
Florian
16.03.2012
ffordermaier 8,4k 3 9
Hallo Florian,

DANKE für den Tipp. Damit habe ich die Fehlermeldung entdeckt. Für Alle, die noch wissen wollen, was der Fehler war:
Aus
<code>public ReadOnly Orders as ICollection(Of GestaltungsAuftrag)
</code>

Macht man:
<code>public Property Orders as ICollection(Of GestaltungsAuftrag)
</code>

Dann funktioniert es auch

Danke nochmal für die Tipps.
TiMeBaNDiT76 16.03.2012
Hallo Bandit,

sag ich doch ... ;-))
luedi 17.03.2012
0
Möglicherweise liegt es daran, dass du die Property Orders als ReadOnly deklariert hat.
16.03.2012
luedi 2,2k 1 9
Hm, das habe ich ausprobiert und ist leider nicht das Problem.

Hat sonst noch jemand eine Idee?
TiMeBaNDiT76 16.03.2012
Ich kann die Datenbindung leider auch nicht Debuggen. Ich habe das Visual Studio schon richtig eingestellt, aber da ich PRISM verwende, scheint es das Logging so umzubiegen, daß ich keine Ausgabe bekomme.
TiMeBaNDiT76 16.03.2012
0
WPF Binding im Markup klappt nur mit Properties.

public ReadOnly Orders as ICollection(Of GestaltungsAuftrag)

ist aber keine Property und kann somit auch nicht gebunden werden.
Wird die ItemsSource über den Code-Behind festgelegt,wird sie nicht über ein DataBinding gebunden. Ihr wird lediglich eine Collection zugewiesen.

Ist zwar spär für eine Antwort, aber vielleicht hilft's anderen ;)
21.06.2012
tominwien 26 2
Macht nichts ... ich habe auch erste gestern mal wieder Zeit gehabt dort draufzuschauen ... ich werde es nochmal untersuchen ... Danke für den Tipp.
TiMeBaNDiT76 21.06.2012

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH