J'ai une zone de liste qui a des modèles définis pour les styles ItemContainer et ItemTemplate.TemplateBinding et ContentPresenter dans Silverlight/WPF
Mon ItemTemplate est un DataTemplate qui est très simple:
<DataTemplate x:Key="DataTemplate1">
<Grid x:Name="grid">
<TextBlock TextWrapping="Wrap" Text="{Binding}" Foreground="White" FontSize="24" />
</Grid>
</DataTemplate>
et ItemContainer est également très simple:
<Grid x:Name="Grid" HorizontalAlignment="Stretch" Height="Auto" SnapsToDevicePixels="true" Width="373" Background="{x:Null}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="37"/>
</Grid.ColumnDefinitions>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected"/>
<VisualState x:Name="Selected"/>
<VisualState x:Name="SelectedUnfocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter x:Name="contentPresenter" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Stretch" Margin="2,0,0,0" d:LayoutOverrides="Width">
</ContentPresenter>
<Image x:Name="image" HorizontalAlignment="Center" Margin="0,0,0,1" Source="/MyApp;component/Images/icon_arrowcircle.png" Stretch="Uniform" Width="37" Grid.Column="1" VerticalAlignment="Center" Opacity="0"/>
</Grid>
qui tout fonctionne très bien. Mais ce que je veux pouvoir faire est, quand un élément est sélectionné (ie l'état visuel sélectionné) je veux que le TextBlock dans le DataTemplate change sa couleur de premier plan en noir au lieu de blanc et augmente la taille de la police . Mais je n'arrive pas à trouver une manière propre de le faire car TemplateBinding ne semble pas être disponible à partir d'un DataTemplate.
Des idées?
Je ne pense pas que cela fonctionne dans Silverlight cependant. – AnthonyWJones
Ça marche! Merci beaucoup John, mais en tant qu'extension, comment puis-je déclencher le changement de ces valeurs dans différents états visuels? – Mark
En fait, vous pouvez :) Je viens de trouver ce blog par Charles http://www.charlespetzold.com/blog/2007/09/080231.html – Mark