WPF-Anwendung findet Datenkontext nicht

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von hlghyr.

    WPF-Anwendung findet Datenkontext nicht

    Hallo Forum!
    Erst mal wünsche ich "Frohe Weihnachten"!
    Habe im XAML-Code eine Fehlermeldung, die ich mir nicht erklären kann. Dabei geht es um den Context. "In der Anwendungskonfigurationsdatei wurde keine Zeichenfolge mit den Namen 'AufmassModell8Container' gefunden".

    Der XAML-Code lautet wie folgt:
    Spoiler anzeigen

    XML-Quellcode

    1. <
    2. Window x:Class="MainWindow"
    3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    6. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    7. xmlns:local="clr-namespace:AufmassDB8"
    8. mc:Ignorable="d"
    9. Title="MainWindow" Height="350" Width="525">
    10. <Window.DataContext>
    11. <local:Farbwert/>
    12. </Window.DataContext>
    13. <Grid>
    14. <Grid.ColumnDefinitions>
    15. <ColumnDefinition Width="32*"/>
    16. <ColumnDefinition Width="485*"/>
    17. </Grid.ColumnDefinitions>
    18. <ListBox x:Name="listBox" Margin="0" ItemsSource="{Binding farbwerte}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" SelectionMode="Multiple">
    19. <ListBox.ItemTemplate>
    20. <DataTemplate>
    21. <Canvas Background="{Binding Voll}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="20" Height="20" Cursor="Hand" ToolTip="{Binding Voll}"/>
    22. </DataTemplate>
    23. </ListBox.ItemTemplate>
    24. </ListBox>
    25. </Grid>
    26. </Window>

    Die Klasse, an die gebunden wird:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Collections.ObjectModel
    2. Public Class Farbwert
    3. Public Property farbwerte() As New ObservableCollection(Of Farbe)
    4. Sub New()
    5. ladeFarbwerte()
    6. End Sub
    7. Private Sub ladeFarbwerte()
    8. Using ctx As New AufmassModel8Container
    9. Dim tempFarbe = From farb In ctx.Farben
    10. Select farb
    11. For Each f In tempFarbe
    12. farbwerte.Add(f)
    13. Next
    14. End Using
    15. End Sub
    16. End Class

    Das Model:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.Collections.Generic
    3. Partial Public Class Farbe
    4. Public Property Id As Integer
    5. Public Property Voll As String
    6. Public Property Halb As String
    7. Public Overridable Property Figur As ICollection(Of Figur) = New HashSet(Of Figur)
    8. End Class

    Und noch der generierte ConnectionStrings aus der App.config:
    Spoiler anzeigen

    XML-Quellcode

    1. <connectionStrings>
    2. <add name="AufmassModel8Container" connectionString="metadata=res://*/AufmassModel8.csdl|res://*/AufmassModel8.ssdl|res://*/AufmassModel8.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=C:\Users\Helge\Documents\DBAufmass8.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    3. </connectionStrings>


    Ich versteh einfach nicht, warum ich diese Fehlermeldung erhalte. Im Ausgabefenster wird mir kein Fehler oder Hinweis auf den fehlenden Namen gegeben. Das Programm funktioniert auch. Bindungen lassen sich, mit "Picking" oder wie das genannt wird, erstellen.
    Vielleicht hat einer das Problem schon mal gehabt und kann mir einen Rat geben. Oder mir sagen, was ich falsch gemacht habe.
    MfG Helge

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hlghyr“ ()

    Ich hab das mit dem Titel mal erledigt.

    Liegt der Fehler vielleicht im einfachen/doppelten "L"? Oben steht:

    "In der Anwendungskonfigurationsdatei wurde keine Zeichenfolge mit den Namen 'AufmassModeLL8Container' gefunden"

    In der Konfigurationsdatei steht dagegen:

    <add name="AufmassModeL8Container" ... />

    Gruß
    hal2000
    Hi Forum!
    Hab jetzt den Datacontext in der Codebehinddatei gesetzt. Nun wird mir kein Fehler mehr angezeigt.
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Class MainWindow
    2. Sub New()
    3. InitializeComponent()
    4. Me.DataContext = New Farbwert
    5. End Sub
    6. End Class

    Aber warum ist das so? Wäre schön, wenn einer dafür eine Erklärung hätte.