Guybrush Threepwood Geschrieben 24. Oktober 2012 Geschrieben 24. Oktober 2012 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? Zitieren
lbm1305 Geschrieben 24. Oktober 2012 Geschrieben 24. Oktober 2012 (bearbeitet) Im Anhang ein kleines Demo mit einem ViewModel und dem Binding. EDIT: VS2010 + .NET 4.0WpfListBoxDemoVS2010.zip Bearbeitet 24. Oktober 2012 von lbm1305 Zitieren
Pointerman Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 Moin! Ich habe Deinen XAML-Ausschnitt in eine Testanwendung kopiert (einfach in das Grid eingefügt) und bekomme die Items nebeneinander dargestellt. Zitieren
Guybrush Threepwood Geschrieben 25. Oktober 2012 Autor Geschrieben 25. Oktober 2012 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 -.- Zitieren
Guybrush Threepwood Geschrieben 25. Oktober 2012 Autor Geschrieben 25. Oktober 2012 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? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.