Bonjour à tous,
J'essai dans le cadre d'un projet de mettre en place une liste horizontal avec des images dans chaque item. Jusque là pas trop de soucis.
J'ai par exemple une liste de 5 images, et comme ma liste est trop petite la scrollbar(scrollviewer) horizontal apparaît (normal quoi).
lorsque je vais sur mon dernier item et que je le sélectionne, alors la c'est le drame. (la scrollbar revient à gauche et mon item sélectionné n'est pas le bon).
Y a t il un moyen d'éviter le probleme.
(pour info j'utilise blend)
Merci a tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <Canvas Background="Black"> <ScrollViewer Width="594" Height="231" Canvas.Left="15" Canvas.Top="95.667" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Auto" Margin="0" Padding="0" BorderBrush="{x:Null}" BorderThickness="1"> <ListBox HorizontalAlignment="Left" Background="{x:Null}" Width="Auto" > <ListBox.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/> </ItemsPanelTemplate> </ListBox.ItemsPanel> <ListBoxItem/> <ListBoxItem/> <ListBoxItem/> <ListBoxItem/> <ListBoxItem/> </ListBox> </ScrollViewer> </Canvas>
Voici le Code de mon style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <Style TargetType="{x:Type ListBoxItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}"> <Grid x:Name="grid1" Width="177" Height="204" Background="Red"> <Grid.RowDefinitions> <RowDefinition Height="0.184*"/> <RowDefinition Height="0.483*"/> <RowDefinition Height="0.333*"/> </Grid.RowDefinitions> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter TargetName="grid1" Property="Background" Value="Yellow"/> </Trigger> <Trigger Property="IsSelected" Value="true"> <Setter TargetName="grid1" Property="Background" Value="Blue"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>
Partager