我不明白为什么这些是连接的。我删除了窗格标题图像,当我删除此图像时,它也会从页面中删除(即使<Image source.../>
仍然存在于HomePageView.xaml
中。我不明白它们是如何以及为什么连接的?
显示窗格标题图像代码存在时的图像
相同的代码被剪切,但是程序只删除了3行,这应该只删除窗格标题图像?
样式在App.xaml
中定义,如下所示:
<Application
x:Class="Ankara_Online.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Ankara_Online">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<Style x:Key="Logo" TargetType="Image">
<Setter Property="Source" Value="Assets/TRvACC/trvacc_logo_transparent.png"/>
</Style>
<Style x:Key="defaultTextStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="#000000" />
<Setter Property="FontFamily" Value="Poppins" />
<Setter Property="FontWeight" Value="Normal" />
</Style>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<Style x:Key="Logo" TargetType="Image">
<Setter Property="Source" Value="Assets/TRvACC/trvacc_logo_transparent_2.png"/>
</Style>
<Style x:Key="defaultTextStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="#FFFFFF" />
<Setter Property="FontFamily" Value="Poppins" />
<Setter Property="FontWeight" Value="Normal" />
</Style>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
</ResourceDictionary.MergedDictionaries>
<!-- Other app resources here -->
<!--directories etc. shared resoruces-->
</ResourceDictionary>
</Application.Resources>
</Application>
更新
我试图理解为什么会发生这种情况,发现它与Style
无关。事实上,即使我手动给予Image
的源代码,它仍然没有显示。
1条答案
按热度按时间hc8w905p1#
起初,这个问题似乎与
NavigationView.PaneHeader
图像是否存在有关。但是,经过进一步调查,我发现这不是问题所在。这个问题是由于寻址图像并将其作为Image
Source
传递时的相对路径与绝对路径造成的。在检查Live属性资源管理器时,我发现Image
的UriSource
值是错误的。在
./Views
文件夹中呈现页面或框架时,UriSource
值被转换为不正确的ms-appx:///Views/Assets\Images\logo.png
。正确的格式应该是路径开头没有/Views。为了解决此问题,我将Value
更改为本机Uri
:结果成功!图像显示正确。