Je voudrais créer un sélecteur de couleurs qui ressemble dans Windows encre: UWP: comment créer un « arrondi » sélecteur de couleur
J'ai donc créé un GridView qui contient mon ItemTemplate :
<GridView x:Name="colorList2" HorizontalAlignment="Stretch" VerticalAlignment="Top"
IsItemClickEnabled="True"
ItemClick="colorList2_ItemClick"
SelectionMode="Single"
SelectionChanged="colorList2_SelectionChanged"
>
<GridView.ItemTemplate>
<DataTemplate>
<Grid RightTapped="Grid_RightTapped" Tapped="Grid_Tapped">
<Button Height="30" Width="30">
<Button.Template>
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse Fill="{Binding Color}"/>
<ContentPresenter Content="{TemplateBinding Content}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
Dans les épreuves Grid_RightTapped et Grid_Tappent, je reçois la couleur cliquée, je colorise mes articles, et je l'élément sélectionné affect au GridView:
private void Grid_Tapped(object sender, TappedRoutedEventArgs e)
{
Colors selectedColor = (sender as Grid).DataContext as Colors;
foreach (NodeViewModel node in diagram.Nodes as DiagramCollection<NodeViewModel>)
{
...
}
this.colorList2.SelectedItem = selectedColor;
}
}
Cela fonctionne bien, mais je voudrais savoir s'il y a un moyen de « personnaliser » le modèle de l'élément sélectionné/hover du GridView? Ce sont des carrés et je voudrais les remplacer par des ellipses, comme dans Windows Ink.
Merci les gars! Cela fonctionne bien. –