J'ai un DataGrid dans un UserControl et j'ai ajouté un ContextMenu au DataGrid.Problème de réglage Source d'image d'icône dans le menu contextuel du code derrière
Le XAML est la suivante:
<sdk:DataGrid ItemsSource="{Binding Path=GridSource}">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Path=Name, Mode=OneWay}" Header="Name"/>
<sdk:DataGridTextColumn Binding="{Binding Path=Number, Mode=OneWay}" Header="Number"/>
</sdk:DataGrid.Columns>
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu Opened="ContextMenu_Opened">
<toolkit:MenuItem IsEnabled="False">
<toolkit:MenuItem.Icon>
<Image x:Name="menuIcon"/>
</toolkit:MenuItem.Icon>
</toolkit:MenuItem>
<toolkit:Separator />
<toolkit:MenuItem Header="View Agent Route" Click="AgentRoute_Click"/>
<toolkit:MenuItem Header="Live Track" Click="LiveTrack_Click"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</sdk:DataGrid>
Si je mets la source de l'image menuIcon en XAML en utilisant
<Image x:Name="menuIcon" Source="../../Assets/Images/user_green.png"/>
Ensuite, l'icône est rendu bien, mais si je tente de le mettre en le gestionnaire d'événements ContextMenu_Opened utilisant:
private void ContextMenu_Opened(object sender, RoutedEventArgs e)
{
menuIcon.Source = new BitmapImage(new Uri("../../Assets/Images/user_green.png", UriKind.Relative));
}
rien ne montre, je ne reçois pas une erreur ou quoi que ce soit il ju st ne montre pas. J'ai utilisé la même méthode pour définir ImageSource (en utilisant les mêmes fichiers * .png réels) ailleurs dans mon application, des idées sur ce qui se passe ici?
Est-ce dû au fait qu'il s'agit d'un ContextMenu? Sur une grille? Je ne peux pas comprendre ce qui se passe.
J'ai essayé cela mais ça ne fonctionne toujours pas. Pouvez-vous penser à une raison pour laquelle cela fonctionne quand vous utilisez XAML, mais pas à travers le code? – Fermin