Почему я получаю сообщение об ошибке при загрузке ресурсов / resources.xaml в конструкторе, когда создаю экземпляр пользовательского элемента управления WPF на странице? - PullRequest
0 голосов
/ 06 октября 2018

Я получаю эту ошибку только в конструкторе;моя игра работает нормально.

Ошибка: «Не удается найти ресурсы resources / resources.xaml».Это происходит только в представлениях, где я ссылаюсь на свой пользовательский элемент управления, и только в конструкторе - не когда я разрабатываю сам пользовательский элемент управления и не во время выполнения;Я могу нормально скомпилировать свою игру, даже если у меня есть эта ошибка.

Здесь я объявляю свой экземпляр пользовательского элемента управления:

<local:StatsView Grid.ColumnSpan="2" x:Name="stats"/>

И вотявляются ли соответствующие части моего пользовательского элемента управления:

<UserControl x:Class="Wormholes.Views.StatsView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Wormholes.Views" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <UserControl.Resources> <ResourceDictionary Source="/Resources/Resources.xaml" /> </UserControl.Resources> <Grid> ... </Grid> </UserControl>

Я также ссылаюсь на этот же файл Resources.xaml на каждой из моих страниц в дополнение к пользовательскому элементу управления;Может ли это быть причиной ошибки?Если да, то как мне обойти это?

1 Ответ

0 голосов
/ 06 октября 2018

Вы использовали относительный URI, поэтому он будет искать ваш файл ресурсов в том месте, где вы использовали свой UserControl.Он не может найти ваш файл ресурсов, потому что ваш файл ресурсов не находится в AbsolutePath.

AbsolutePath = CurrentPath (где вы использовали свой UserControl) + RelativePath

, поэтому используйте AbsolutePath:

   <ResourceDictionary Source="pack://application:,,,/{YourAssemblyName};component/Resources/Resources.xaml" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...