我正在尝试使用Visual Studio 2017制作UWP。我想将Microsoft帐户信息添加为NavigationViewItem。为此,我用GraphServiceClient的DisplayName和配置文件图片分别保存为字符串和BitMapImage
。
我想做的是循环裁剪BitMapImage
,并在NavigationViewItem
的Icon
属性中使用它。
答案 0 :(得分:0)
我想做的是循环裁剪BitMapImage并在NavigationViewItem的Icon属性中使用它。
您不能将BitmapImage
用作NavigationViewItem的Icon,它只能接收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;