导航视图项目控件上的自定义图像在运行时不显示

时间:2019-04-06 15:37:49

标签: c# xaml uwp

我创建了一个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:

1 个答案:

答案 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>