我创建了一个Windows Template Studio(Universal Windows(UWP))C#项目,应用了带有MVVM基本设计模式的导航窗格项目类型,并浏览了一些页面。我已将NavigationViewItem上的默认图标替换为自定义图像。但是,即使带有文本的自定义图像在设计时显示,在运行时,也仅显示文本,而不显示自定义图像。
当我尝试删除“ x:Uid”(我相信它也被Resources.resw文件使用)时,将显示带有文本的自定义图像,但是,当单击NavigationViewItem控件时,程序会在以下位置停止/崩溃(在App.gics文件中):
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
#endif
这是xaml代码:
<winui:NavigationViewItem x:Uid="Shell_AttentionList" helpers:NavHelper.NavigateTo="views:AttentionListPage" Height="75">
<winui:NavigationViewItem.Content>
<StackPanel Orientation="Horizontal">
<Image Source="/Images/attentionList.png" />
<TextBlock Text=" Attention List" FontSize="16" FontFamily="segoe ui" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</StackPanel>
</winui:NavigationViewItem.Content>
</winui:NavigationViewItem>
谢谢
As per requested (from Mahmudul Hasan) visual result expectation:
答案 0 :(得分:1)
您可以试试这个-
使用StackPanel [不推荐]
<NavigationViewItem>
<StackPanel Orientation="Horizontal">
<Image Height="50"
Margin="5"
Source="Assets/bus.png"
Stretch="Uniform"/>
<TextBlock Text="Sample Text"/>
</StackPanel>
</NavigationViewItem>
使用BitmapIcon [推荐]
<NavigationViewItem Content="Sample Text" >
<NavigationViewItem.Icon>
<BitmapIcon UriSource="ms-appx:///Assets/bus.png"/>
</NavigationViewItem.Icon>
</NavigationViewItem>