У меня есть DataGrid в UserControl, и я добавил ContextMenu в DataGrid.
XAML выглядит следующим образом:
<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>
Если я установил источник менюIcon Imageв XAML с использованием
<Image x:Name="menuIcon" Source="../../Assets/Images/user_green.png"/>
Тогда значок отображается нормально, но если я пытаюсь установить его в обработчике события ContextMenu_Opened, используя:
private void ContextMenu_Opened(object sender, RoutedEventArgs e)
{
menuIcon.Source = new BitmapImage(new Uri("../../Assets/Images/user_green.png", UriKind.Relative));
}
Ничего не появляется, я не получаюошибка или еще что-то, что не отображается.Я использовал тот же метод для установки ImageSource (используя те же самые файлы * .png) в другом месте моего приложения, есть идеи, что здесь происходит?
Это из-за того, что это ContextMenu?На сетке?Я не могу понять, что происходит.