Hallo!
Da mein letzter Beitrag nicht mehr den passenden Titel trägt, eröffne ich ein neues Thema.
Seit Tagen versuche ich ein Binding zu erstellen. Nun hab ich mich für den Weg direkt über den Code Behind und Bindung auf eine Klasse entschieden. Aber es klappt nicht.
Im XAML zeigt die Zeile " <nskn:Klasse_Namen x:Key="myDataSource"/>" "Der Name Klasse_Namen ist im Namespace ... nicht vorhanden".
Ich versteh nicht warum. Ich habe den Aufbau mehrfach mit dem Beispielprojekt von nofear23m verglichen, sehe aber meinen Fehler nicht. Im Grunde scheint doch alles bisher so nachgebaut zu sein wie im Beispiel.
Wäre für Hilfe echt dankbar.
Gruß
eddi
Da mein letzter Beitrag nicht mehr den passenden Titel trägt, eröffne ich ein neues Thema.
Seit Tagen versuche ich ein Binding zu erstellen. Nun hab ich mich für den Weg direkt über den Code Behind und Bindung auf eine Klasse entschieden. Aber es klappt nicht.
VB.NET-Quellcode
- Imports System.ComponentModel 'nötig für das Implements INotifyPropertyChanged
- Imports System.Runtime.CompilerServices
- Imports System.Collections.ObjectModel
- Namespace Namespace_Klasse01 'Der Namespace muss der Klasse manuell hier hinzugefügt werden. Über "Namespace_Klasse01" wird dieser in der XAML des Fensters dann eingefügt
- Public Class Klasse_Namen
- Implements INotifyPropertyChanged 'installiert vermutlich die Events erstmal, über das System wird die Oberfläche über die Änderung eines Propertys informiert, Ein hieran gebundenens Label z.B. liest dann seinen Text neu ein
- Private _TestText As String 'eine temporäre Variable für das eigentliche Property, Privat => nur in dieser Klasse verfügbar
- Public Property TestText As String 'ein Property namens TestText erstellen, soll global erreichbar sein, Hier liegt dann der gewünscht Text drin
- Get 'lesen
- Return _TestText 'dem Property seine temp Variable übergeben?
- End Get
- Set(value As String) 'schreiben
- _TestText = value 'temp Variable = übergebener Wert
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("")) 'Änderung des Property melden, an ME => die Klasse, ("") führt zur Aktualisierung aller Bindings der Klasse (hoffentlich)
- End Set
- End Property
- Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged 'wird durch Einfügen von "Implements INotifyPropertyChanged" automatisch hier eingefügt
- End Class
- End Namespace
XML-Quellcode
- <Window x:Class="GuckFenster"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:Binding_Lager02"
- xmlns:nskn="clr-namespace:Binding_Lager02.Namespace_Klasse01"
- mc:Ignorable="d"
- Title="GuckFenster" Height="450" Width="800">
- <Window.Resources>
- <nskn:Klasse_Namen x:Key="myDataSource"/>
- </Window.Resources>
- <Grid>
- </Grid>
- </Window>
Im XAML zeigt die Zeile " <nskn:Klasse_Namen x:Key="myDataSource"/>" "Der Name Klasse_Namen ist im Namespace ... nicht vorhanden".
Ich versteh nicht warum. Ich habe den Aufbau mehrfach mit dem Beispielprojekt von nofear23m verglichen, sehe aber meinen Fehler nicht. Im Grunde scheint doch alles bisher so nachgebaut zu sein wie im Beispiel.
Wäre für Hilfe echt dankbar.
Gruß
eddi