Meilleur auteur de réponses
Effet pression sur Usercontrol

Question
-
Bonjour,
Je commence à utiliser Blend. J'ai fait un UserControl (Grid à 2 colonnes, 1 image, 1 Textbloc) pour l'utiliser comme item dans une listBox.
<UserControl x:Class="MonAppli.ItemFigure"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Name="ItemFigureControl"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="134" d:DesignWidth="480">
<Grid x:Name="LayoutRoot">
<Border>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Grid.RowSpan="2"
Source="{Binding Icon}"
Height="70"
Width="70"
Margin="6" />
<StackPanel Grid.Row="0" Grid.Column="1"
Orientation="Horizontal"
VerticalAlignment="Center">
<TextBlock Text="{Binding Name}" Foreground="Black" Style="{StaticResource PhoneTextTitle2Style}" />
</StackPanel>
</Grid>
</Border>
</Grid>
</UserControl>Je cherche à faire un effet de pression (type comme lorsque l'on Tap sur un email)
Connaissez vous un bon tutoriel (pas trop compliqué) pour ça ?
mardi 14 février 2012 09:06
Réponses
-
Il faut utiliser le tilteffect du silverlight toolkit :
Rajoute simplement :
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" toolkit:TiltEffect.IsTiltEnabled="True"
dans le header de ta page xaml et c tout (ainsi qu'une reference vers la lib silverlight toolkit (microsoft.phone.controls.toolkit)
http://silverlight.codeplex.com/
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue
- Marqué comme réponse Christophe PeuMVP mardi 14 février 2012 09:20
mardi 14 février 2012 09:08 -
il faut que tu ajoutes le code à la seconde page aussi. Cela ne fonctionne que pour les boutons, les listboxitem, radiobutton, checkbox. Dans ton cas tu utilises ScrollViewer+ItemsControl, remplace ca par une listbox
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue
- Marqué comme réponse Christophe PeuMVP mardi 14 février 2012 12:39
mardi 14 février 2012 09:43
Toutes les réponses
-
Il faut utiliser le tilteffect du silverlight toolkit :
Rajoute simplement :
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" toolkit:TiltEffect.IsTiltEnabled="True"
dans le header de ta page xaml et c tout (ainsi qu'une reference vers la lib silverlight toolkit (microsoft.phone.controls.toolkit)
http://silverlight.codeplex.com/
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue
- Marqué comme réponse Christophe PeuMVP mardi 14 février 2012 09:20
mardi 14 février 2012 09:08 -
Merci, c'est bluffant ! Par contre ça fonctionne sur ma Mainpage.xaml où j'ai une listebox en dur :
<!--Élément un de panorama--> <controls:PanoramaItem Header="Principal"> <Grid Loaded="Grid_Loaded"> <ListBox xmlns:sys="clr-namespace:System;assembly=mscorlib" FontSize="40" Height="538" Margin="70,50,0,0" > <ListBox.Items> <sys:String>Nouveau</sys:String> <sys:String>Tutorial</sys:String> <sys:String>A propos de</sys:String> <sys:String>Options</sys:String> </ListBox.Items> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Image Source="/MonAppli;component/icons/playb.png" Width="48" Height="48" /> <TextBlock Text="{Binding}" Padding="15" Foreground="Black"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
Mais sur ma seconde page PivotPage.xaml, ça passe pas :
<!--Élément un de tableau croisé dynamique--> <controls:PivotItem Header="Surfaces"> <Grid Grid.Row="1" Margin="12,0,12,0"> <ScrollViewer> <ItemsControl x:Name="surfaces"> <ItemsControl.ItemTemplate> <DataTemplate > <local:ItemFigure Click="SurfaceFigure_Click" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </ScrollViewer> </Grid>
C'est forcement du à l'utilisation d'un usercontrol ! non ? J'ai essayé de coller le "TiltEffect" dans le usercontrol ItemFigure.xaml mais sans plus
- Modifié Christophe PeuMVP mardi 14 février 2012 09:21
mardi 14 février 2012 09:20 -
il faut que tu ajoutes le code à la seconde page aussi. Cela ne fonctionne que pour les boutons, les listboxitem, radiobutton, checkbox. Dans ton cas tu utilises ScrollViewer+ItemsControl, remplace ca par une listbox
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue
- Marqué comme réponse Christophe PeuMVP mardi 14 février 2012 12:39
mardi 14 février 2012 09:43