UWP-BitMapImage到图标

时间:2018-10-27 19:11:28

标签: c# uwp icons bitmapimage

我正在尝试使用Visual Studio 2017制作UWP。我想将Microsoft帐户信息添加为NavigationViewItem。为此,我用GraphServiceClient的DisplayName和配置文件图片分别保存为字符串和BitMapImage

我想做的是循环裁剪BitMapImage,并在NavigationViewItemIcon属性中使用它。

1 个答案:

答案 0 :(得分:0)

  

我想做的是循环裁剪BitMapImage并在NavigationViewItem的Icon属性中使用它。

您不能将BitmapImage用作NavigationViewItem的Icon,它只能接收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;

enter image description here