Hallo liebe Leute,
ich hab mich mal versucht in Sachen WPF schlau zu machen weil mir scheint, dass dem die Zukunft gehört. Nun hab ich einige Grundlagen begriffen und wollte mich jetzt mit dem Binden von Daten an die WPF-Oberfläche befassen. Da stolpere ich aber gewaltig beim Festlegen der Quelle der Binding.
Folgendes einfaches Beispiel funzt im Grunde:
Hier das Gsämml (XAML):
Spoiler anzeigen
Die zugehörige Window-Klasse:
Spoiler anzeigen
und die Klasse mit der Property:
Spoiler anzeigen
Hier ist der DataContext vom VB-Code aus festgelegt. Geht das nicht normalerweise auch vom XMAL-Code aus als <Window.Resources oder so? Diese Deklarationen vor allem im Kopf des XAML versteh ich immer nicht. Da gibts in Beispielen dann Verweise mit XMLS:c="xxxx" oder XMLS:x="xxxx" und solch Zeugs. Ich hab da schon mal eine Klasse dran knoten können, aber ich will doch die Instanz der Klasse als Quelle haben (also ein Objekt
Kann mich da mal bitte jemand aufklären?
Fielen Dank
Vatter
ich hab mich mal versucht in Sachen WPF schlau zu machen weil mir scheint, dass dem die Zukunft gehört. Nun hab ich einige Grundlagen begriffen und wollte mich jetzt mit dem Binden von Daten an die WPF-Oberfläche befassen. Da stolpere ich aber gewaltig beim Festlegen der Quelle der Binding.
Folgendes einfaches Beispiel funzt im Grunde:
Hier das Gsämml (XAML):
XML-Quellcode
Die zugehörige Window-Klasse:
VB.NET-Quellcode
- Class MainWindow
- Public Sub New()
- ' Dieser Aufruf ist für den Designer erforderlich.
- InitializeComponent()
- ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
- MyProp.Text = "Start"
- Me.DataContext = MyProp 'Hier der Datacontext für die Form
- Me.Title = MyProp.Text 'Zum Test
- End Sub
- Dim Flacker As Boolean
- Property MyProp As New Props
- Private Sub Umschalten(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
- Flacker = Not Flacker
- MyProp.Text = "b = " & Flacker.ToString 'Umschalten der gebundenen Content-Eigenschaft des Button
- Me.Title = MyProp.Text 'Zum Test
- End Sub
- End Class
und die Klasse mit der Property:
VB.NET-Quellcode
- Imports System.ComponentModel
- Public Class Props
- Implements INotifyPropertyChanged
- Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
- Private _text As String
- Public Property Text As String
- Get
- Return _text
- End Get
- Set(ByVal value As String)
- If value <> _text Then
- _text = value
- OnPropertyChanged("Text")
- End If
- End Set
- End Property
- Protected Sub OnPropertyChanged(ByVal name As String)
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
- End Sub
- End Class
Hier ist der DataContext vom VB-Code aus festgelegt. Geht das nicht normalerweise auch vom XMAL-Code aus als <Window.Resources oder so? Diese Deklarationen vor allem im Kopf des XAML versteh ich immer nicht. Da gibts in Beispielen dann Verweise mit XMLS:c="xxxx" oder XMLS:x="xxxx" und solch Zeugs. Ich hab da schon mal eine Klasse dran knoten können, aber ich will doch die Instanz der Klasse als Quelle haben (also ein Objekt
Kann mich da mal bitte jemand aufklären?
Fielen Dank
Vatter
Seit 26.Mai 2012 Oppa!