Servus Forum,
ich benötige wieder mal Hilfe bei der Datenbindung. Ich habe in meinem Projekt ein TabControl mit verschiedenen Produkten. Bei Produkt 3 habe ich einen Button, der mir eine Zufallszahl erzeugt. Diese soll dann in einem Textfeld in dem gleichen Tab angezeigt werden.
Hier ein Ausschnitt aus dem XAML:
Spoiler anzeigen
In Zeile 21 versuche ich den Inhalt der Box an eine Property zu binden, diese befindet sich in der Klasse ReadLV:
Spoiler anzeigen
ReadLV wird gestartet, wenn der Button in Produkt_3 geklickt wird. Jetzt ist die Frage, wie ich es hinbekomme, dass die Zufallszahl in dem Textfeld angezeigt wird?
Mit dem von mir gewählten
Wahrscheinlich wieder mal völlig banal (für die, die´s können), aber ich schaff es einfach nicht.
Eventuell wäre ein Seminar mal hilfreich. Kann da vielleicht jemand einen Anbieter empfehlen, der gute WPF-Seminare für Einsteiger macht?
Anbei noch das Projekt (Öffnen --> Produkt 3 wählen --> Bild mit Nr. 3 klicken --> Button klicken)
Danke im voraus!
Gruß Oli
ich benötige wieder mal Hilfe bei der Datenbindung. Ich habe in meinem Projekt ein TabControl mit verschiedenen Produkten. Bei Produkt 3 habe ich einen Button, der mir eine Zufallszahl erzeugt. Diese soll dann in einem Textfeld in dem gleichen Tab angezeigt werden.
Hier ein Ausschnitt aus dem XAML:
XML-Quellcode
- <TabControl ItemsSource="{Binding Produktliste}" SelectedItem="{Binding CurrentTab}" Margin="10,10,10,5">
- <TabControl.ContentTemplate>
- <DataTemplate>
- <ContentControl Content="{Binding}">
- <ContentControl.Resources>
- <DataTemplate DataType="{x:Type prokla:Produkt_1}">
- <Image Source="{Binding Produktbild}" Width="409" Height="363" Stretch="UniformToFill"/>
- </DataTemplate>
- <DataTemplate DataType="{x:Type prokla:Produkt_2}">
- <StackPanel>
- <Image Source="{Binding Produktbild}" Width="409" Height="363" Stretch="UniformToFill"/>
- <Button Content="{Binding ButtonContent}"/>
- </StackPanel>
- </DataTemplate>
- <DataTemplate DataType="{x:Type prokla:Produkt_3}">
- <UniformGrid Rows="4">
- <Image Source="{Binding Produktbild}" Width="50" Height="50" Stretch="UniformToFill"/>
- <Button Content="{Binding ButtonContent}"
- Command="{Binding DataContext.ReadAuslegung, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TabControl}}}"
- CommandParameter="{Binding}" Width="80" Height="30"/>
- <TextBox Text="{Binding Leistung}" Width="80" Height="30"/>
- </UniformGrid>
- </DataTemplate>
- </ContentControl.Resources>
- </ContentControl>
- </DataTemplate>
- </TabControl.ContentTemplate>
- </TabControl>
In Zeile 21 versuche ich den Inhalt der Box an eine Property zu binden, diese befindet sich in der Klasse ReadLV:
VB.NET-Quellcode
- Public Class ReadLV
- Public _Leistung As Integer
- Public Property Leistung As Integer
- Get
- Leistung = _Leistung
- End Get
- Set(value As Integer)
- _Leistung = value
- Produkt_3.Leistung = value
- End Set
- End Property
- Public Sub New(Dateipfad As String, BTSend As Bauteil_Base)
- 'hier wird normalerweise eine Datei mit Informationen eingelesen --> stattdessen wird Leistung ein Zufallswert zugewiesen
- 'If ReadPath = "" Then
- ' Exit Sub
- 'Else
- ' ReadATLDatei()
- 'End If
- Dim LRnd As New Random
- Leistung = LRnd.Next(5000)
- End Sub
- 'Public Sub ReadATLDatei()
- ' '==========================================================================================
- ' 'Routinen zum Auslesen einer vorhandenen Datei
- ' '==========================================================================================
- 'End Sub
- End Class
ReadLV wird gestartet, wenn der Button in Produkt_3 geklickt wird. Jetzt ist die Frage, wie ich es hinbekomme, dass die Zufallszahl in dem Textfeld angezeigt wird?
Mit dem von mir gewählten
<TextBox Text="{Binding Leistung}" Width="80" Height="30"/>
funktioniert es nicht.Wahrscheinlich wieder mal völlig banal (für die, die´s können), aber ich schaff es einfach nicht.
Eventuell wäre ein Seminar mal hilfreich. Kann da vielleicht jemand einen Anbieter empfehlen, der gute WPF-Seminare für Einsteiger macht?
Anbei noch das Projekt (Öffnen --> Produkt 3 wählen --> Bild mit Nr. 3 klicken --> Button klicken)
Danke im voraus!
Gruß Oli