locked
Mehrfachauswahl einer ListBox RRS feed

  • Frage

  • Hallo Zusammen.

    Ich habe eine Anwendung bei der sich Benutzer anmelden und aus einer Listbox mehrere Einträge markieren können. Diese sollen dann Benutzerbezogen in einer Datenbank gespeichert werden. Wenn der Benutzer sich wieder anmeldet sollen die Einträge dann gleich wieder markiert werden.

    Die Mehrfachauswahl habe ich schon über "SelectionMode = Extended" realiesiert. Ich möchte nun gerne den Index der markierten Einträge in der DB speichern und bei Neuanmeldung die Einträge auch wieder über den Index markieren.

    Ich habe es schon versucht aber über den SelectedIndex wird ja immer nur ein Wert zurückgegeben und über Ihn kann ich ja auch nur ein Wert in der ListBox markieren. Weiß jemand ob es möglich ist, dies über den SelectedIndex zu realiesieren und wenn nicht, wie könnte ich es dann umsetzten???

    Bin für jede Hilfe dankbar :-).

    gruß ThunderBold
    • Typ geändert ThunderBold Dienstag, 2. Februar 2010 08:04
    Samstag, 23. Januar 2010 18:15

Antworten

  • Hier mal eine Demo:

    <UserControl x:Class="SilverlightApplication1.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Width="400" Height="300">
      <StackPanel>
        <ListBox Name="lb" Width="200" Height="400" SelectionMode="Extended"/>
      </StackPanel>
    </UserControl>
    Und dazu der Codebehind:

    Partial Public Class MainPage
      Inherits UserControl
    
      Public Sub New()
        InitializeComponent()
      End Sub
    
      Private Sub MainPage_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        ' laden
        For i = 1 To 10
          Me.lb.Items.Add("Zeile " & i.ToString)
        Next
        ' markieren
        With Me.lb.SelectedItems
          .Add(Me.lb.Items(3))
          .Add(Me.lb.Items(4))
          .Add(Me.lb.Items(7))
        End With
      End Sub
    End Class
    --
    Peter
    Sonntag, 31. Januar 2010 07:01

Alle Antworten

  • Hier mal eine Demo:

    <UserControl x:Class="SilverlightApplication1.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Width="400" Height="300">
      <StackPanel>
        <ListBox Name="lb" Width="200" Height="400" SelectionMode="Extended"/>
      </StackPanel>
    </UserControl>
    Und dazu der Codebehind:

    Partial Public Class MainPage
      Inherits UserControl
    
      Public Sub New()
        InitializeComponent()
      End Sub
    
      Private Sub MainPage_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        ' laden
        For i = 1 To 10
          Me.lb.Items.Add("Zeile " & i.ToString)
        Next
        ' markieren
        With Me.lb.SelectedItems
          .Add(Me.lb.Items(3))
          .Add(Me.lb.Items(4))
          .Add(Me.lb.Items(7))
        End With
      End Sub
    End Class
    --
    Peter
    Sonntag, 31. Januar 2010 07:01
  • Hallo ThunderBold,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Montag, 1. Februar 2010 07:36
  • Hallo Peter, Hallo Robert.

    Danke für die Antwort, das klappt so wunderbar :-).

    Nun hätte ich aber noch ne frage dazu.  Gibt es die Möglichkeit bestimmt Einträge der ListBox zu disabeln?

    Danke und gruß ThunderBold
    Dienstag, 2. Februar 2010 08:02
  • Hallo ThunderBold,

    Habe das Problem mit der Möglichkeit bestimmte Einträge der ListBox zu deaktivieren als Tipp hier im Silverlight Forum geschrieben.

    http://social.msdn.microsoft.com/Forums/de-DE/silverlightde/thread/c08a1426-4fbf-4d68-a0fe-641ba7285941

    Lies auch folgende Artikel:

    http://tozon.info/blog/post/2009/03/10/Disabling-items-in-a-Silverlight-ListBox.aspx

    http://kentb.blogspot.com/2009/03/unselectable-interactive-items-in.html

    Grüße,

    Robert

    Dienstag, 2. Februar 2010 16:19