UWP - BitMapImage 到图标

UWP - BitMapImage to Icon

我正在尝试使用 Visual Studio 2017 制作一个 UWP。我想添加 NavigationViewItem the Microsoft Account Information. In order to do it I get with GraphServiceClient 显示名称和个人资料图片分别保存为字符串和 BitMapImage

我想做的是循环裁剪 BitMapImage 并在 NavigationViewItem.

Icon 属性 中使用它

What I would like to do is to crop circularly the BitMapImage and use it in the Icon property of the NavigationViewItem.

您不能将 BitmapImage 用作 NavigationViewItem 的 Icon, It only receives IconElement

为了达到您的目的,您可以直接在NavigationViewItem.Content中进行布局以显示图像和文本。例如,您可以使用 EllipseImageBrush 以圆形显示图像。

这是一个简单的代码示例:

<NavigationView>
        <NavigationView.MenuItems>
            <NavigationViewItem Name="SalahNavItem" Tag="Salah">
                <NavigationViewItem.Content>
                    <StackPanel Orientation="Horizontal" >
                        <Ellipse Width="40" Height="40">
                            <Ellipse.Fill>
                                <ImageBrush x:Name="img"></ImageBrush>
                            </Ellipse.Fill>
                        </Ellipse>
                        <TextBlock Text="Custom" VerticalAlignment="Center"></TextBlock>
                    </StackPanel>
                </NavigationViewItem.Content>
            </NavigationViewItem>
            <NavigationViewItem Name="AppsNavItem"  Content="Apps" Tag="apps">
            </NavigationViewItem>
        </NavigationView.MenuItems>
</NavigationView>
BitmapImage bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/car.png"));
img.ImageSource = bitmapImage;