Veröffentlicht 24. Oktober 201212 j Ich versuche die Items in einer ListBox horizontal anzuordnen. Laut unzähligen Beispielen im Internet geht das indem man das ItemsPanelTemplate entsprechend styled. Also zum Beispiel so <ListBox> <ListBox.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" IsItemsHost="True" /> </ItemsPanelTemplate> </ListBox.ItemsPanel> <ListBoxItem>listbox item 1</ListBoxItem> <ListBoxItem>listbox item 2</ListBoxItem> <ListBoxItem>listbox item 3</ListBoxItem> <ListBoxItem>listbox item 4</ListBoxItem> <ListBoxItem>listbox item 5</ListBoxItem> </ListBox>[/PHP] Bei mir geht das aber irgendwie nicht egal wie ich es versuche, die Items werden immer untereinander angezeigt. Jemand ne Idee warum?
24. Oktober 201212 j Im Anhang ein kleines Demo mit einem ViewModel und dem Binding. EDIT: VS2010 + .NET 4.0WpfListBoxDemoVS2010.zip Bearbeitet 24. Oktober 201212 j von lbm1305
25. Oktober 201212 j Moin! Ich habe Deinen XAML-Ausschnitt in eine Testanwendung kopiert (einfach in das Grid eingefügt) und bekomme die Items nebeneinander dargestellt.
25. Oktober 201212 j Autor Danke euch beiden. Wie es aussieht liegt das an den Themes hier die ich eingebunden habe Windows Presentation Foundation (WPF) - Home Wenn ich die rausmache dann werden mir die Elemente auch nebeneinander angezeigt -.-
25. Oktober 201212 j Autor Um genau zu sein dieser Stylepart <Style TargetType="{x:Type ListBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBox}"> <Grid> <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" Background="{DynamicResource ControlBackgroundBrush}" /> <ScrollViewer Margin="1" Style="{DynamicResource NuclearScrollViewer}" Focusable="false" Background="{x:Null}"> <StackPanel Margin="1,1,1,1" IsItemsHost="true" /> </ScrollViewer> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border" /> <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border" /> </Trigger> <Trigger Property="IsGrouping" Value="true"> <Setter Property="ScrollViewer.CanContentScroll" Value="false" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>[/PHP] Wenn ich den Setter für Template rausnehme dann wirds horizontal angezeigt, sonst vertical. Aber warum verhindert das die Anpassung des ItemsPanelTemplates?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.