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
中进行布局以显示图像和文本。例如,您可以使用 Ellipse
和 ImageBrush
以圆形显示图像。
这是一个简单的代码示例:
<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;
我正在尝试使用 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
中进行布局以显示图像和文本。例如,您可以使用 Ellipse
和 ImageBrush
以圆形显示图像。
这是一个简单的代码示例:
<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;