vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Datenbindung an Klasse in WPF 
Autor: Maas
Datum: 17.10.11 17:01

Da du dir bei einer Auflistung nicht sicher sein kannst, wieviele Items existieren, halte ich das Binding an den ersten und zweiten Item für falsch. (Es sei denn, du weisst, dass es immer 2 sind, dann brauchst du nur 2 Properties in der Rechnungs-Klasse; Skonto1 & Skonto2; Wie du an spezifische Properties bindest weisst du ja)
Ich würde es mit einer Liste machen (hier: ItemsControl; es geht auch mit einer ListBox):
<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <ItemsControl ItemsSource="{Binding Skontos}"
                      Margin="12,12,12,6">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Grid Margin="0,6">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"></ColumnDefinition>
                            <ColumnDefinition Width="*"></ColumnDefinition>
                        </Grid.ColumnDefinitions>
                        <TextBlock Grid.Column="1"
                                   Text="{Binding Name,
                                          StringFormat='Name: {0}'}"></TextBlock>
                    </Grid>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
 
        <Button HorizontalAlignment="Right"
                VerticalAlignment="Center"
                Width="70"
                Height="23"
                Margin="12,6,12,12"
                Grid.Row="1"
                Content="Add New" Name="Button1"
                Click="Button1_Click"></Button>
    </Grid>
</Window>
Class MainWindow
    Private mSkontoCount As Integer = 0
    Public Sub New()
        InitializeComponent()
        Dim r As New Rechnung
        For i As Integer = 1 To 5
            mSkontoCount += 1
            r.Skontos.Add(New Skonto With {.Name = "Skonto " & _
              mSkontoCount.ToString()})
        Next
        Me.DataContext = r
    End Sub
 
    Private Sub Button1_Click(sender As System.Object, e As _
      System.Windows.RoutedEventArgs)
        Dim r = CType(Me.DataContext, Rechnung)
        mSkontoCount += 1
        r.Skontos.Add(New Skonto With {.Name = "Skonto " & _
          mSkontoCount.ToString()})
    End Sub
End Class
 
Public Class Rechnung
    Public Property Skontos As New System.ComponentModel.BindingList(Of Skonto)
End Class
 
Public Class Skonto
    Public Property Name As String = String.Empty
End Class
(Ob der Code hier inhaltlich/buchhalterisch Sinn mach, sei mal dahin gestellt.)

Maas
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenbindung an Klasse in WPF2.050Mäxx17.10.11 14:30
Re: Datenbindung an Klasse in WPF1.411Maas17.10.11 15:47
Re: Datenbindung an Klasse in WPF1.322Solution17.10.11 16:31
Re: Datenbindung an Klasse in WPF1.632Maas17.10.11 17:01
Re: Datenbindung an Klasse in WPF1.388Mäxx18.10.11 07:07
Re: Datenbindung an Klasse in WPF1.364Maas18.10.11 09:52
Re: Datenbindung an Klasse in WPF1.411Mäxx18.10.11 09:57

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel