我正在关注有关WinUI3 中自定义控件(模板化)的Microsoft 教程,并决定摆弄它们(我是 WinUI 的新手)。我一直在尝试构建一个图像卡控件,但似乎无法从应用程序文件夹中加载我的图像。
MainPage.xaml
来自(仅控件)的标记:
<local:BasicCard ImgSrc="Assets/woah.jpg" Title="Title here" Content="Content Here"/>
默认情况下,该控件的样式为 in Themes/Generic.xaml
,以下是相关标记:
<ImageBrush.ImageSource>
<BitmapImage UriSource="{Binding Path=ImgSrc, RelativeSource={RelativeSource TemplatedParent}}" />
</ImageBrush.ImageSource>
现在,如果我对 ImgSrc 属性使用超链接,它似乎工作正常,但我无法使用本地图像文件(在 Assets 文件夹中)将其拉出。此外,同样的事情在桌面应用程序中也可以正常工作,但前提是我使用绝对路径,而在 UWP 应用程序中,根本没有任何作用(除了 https 链接)。我已将 woah.jpg 文件放在所有文件夹中,并测试了诸如甚至是绝对路径之类的模式Themes/woah.jpg
,woah.jpg
但没有任何效果。我究竟做错了什么?任何帮助将不胜感激,如果需要,请务必要求提供完整的标记片段。
最后,我不知道这是否重要,但我目前正在winrt::hstring
像这样注册该物业:
Microsoft::UI::Xaml::DependencyProperty BasicCard::m_ImageSourceProperty =
Microsoft::UI::Xaml::DependencyProperty::Register(
L"ImgSrc",
winrt::xaml_typename<winrt::hstring>(),
winrt::xaml_typename<TitleBarPlease::BasicCard>(),
NULL
);