WPF ListBox in ListBox



  • Könntest du das eventuell mal Posten?Wäre interessant zu wissen wie man das Professionell macht?



  • ok
    man kann ja eigentlich nichts falsch machen - solang es klar lesbar ist und gut wartbar ist es gut - "professionell" hin oder her #gg

    ma gugg

    ich hatte das glaub ich ziemlich uebernommen von der msdn da ich genau so auch brauchte #gg

    <Window.Resources>
        <!-- ToDo: move the CollectionViewSource to the ListBox direct -->
        <CollectionViewSource x:Key="UserSource" Source="{Binding Path=Users}">
            <CollectionViewSource.GroupDescriptions>
                <PropertyGroupDescription PropertyName="Mode" />
            </CollectionViewSource.GroupDescriptions>
    	<CollectionViewSource.SortDescriptions>
                <scm:SortDescription PropertyName="Name" Direction="Ascending" />
            </CollectionViewSource.SortDescriptions>
        </CollectionViewSource>
    </Window.Resources>
    .
    .
    .
    <ListBox ItemsSource="{Binding Source={StaticResource UserSource}}" SelectedItem="{Binding CurrentUser}">
        <ListBox.GroupStyle>
            <GroupStyle>
                <GroupStyle.ContainerStyle>
                    <Style TargetType="{x:Type GroupItem}">
                        <Setter Property="Margin" Value="0,0,0,5"/>
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type GroupItem}">
                                    <Expander IsExpanded="True">
                                        <Expander.Header>
                                            <DockPanel>
                                                <TextBlock FontWeight="Bold" Text="{Binding Path=Name}" Margin="5,0,10,0" />
                                                <TextBlock FontWeight="Bold" Text="{Binding Path=ItemCount}"/>
                                            </DockPanel>
                                        </Expander.Header>
                                        <Expander.Content>
                                            <ItemsPresenter />
                                        </Expander.Content>
                                    </Expander>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </GroupStyle.ContainerStyle>
            </GroupStyle>
        </ListBox.GroupStyle>
    </ListBox>
    

    ich hab noch auf meiner todo stehen die collectionviewsources von den resourcen direkt in die liste zu packen , hatte bei der erstem implementation keine zeit das ich es schnell zusammen geschustert hatte {hab das ToDo: mark aber eben erst wieder gefunden #gg}
    ich mags nicht sowas unnoetig auseinander zu ziehen {weil man es nur an einer stelle braucht}

    btw , die namen user und mode sieht zwar sehr nach demo aus , aber ich hab wirklich eine user liste #gg

    so - jetzt erstma arbeits musik ein schalten - muss noch was schaffen {=
    http://www.youtube.com/watch?v=85mLq4vH_mc
    http://www.youtube.com/watch?v=P84eAzdmHkw


Anmelden zum Antworten