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?
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
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.
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 -.-
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?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden