Как добавить ResourceDictionary в проект библиотеки классов класса и получить доступ к нему
Я работаю над проектом, где у меня есть дочерний проект, который ссылается на проект библиотеки.
В моем проекте библиотеки (библиотека классов телефонов) как создать ResourceDictionary.xaml, где мне нужно добавить некоторые стили и использовать его в файлах xaml, а также в файлах .cs.
Мне нужно получить доступ к стилям в ResourceDictionary.xaml в моих файлах xaml, а также в файлах .cs, как это сделать?
Ответы
Ответ 1
Создайте папку в качестве Generic
в корневой папке и там ваши файлы ресурсов...
Чтобы получить доступ к нему в XAML
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Generic.xaml" />
</ResourceDictionary.MergedDictionaries>
или
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/AssembleName;component/Generic.xaml" />
</ResourceDictionary.MergedDictionaries>
Чтобы получить доступ к нему в .cs
new URI(pack://application:,,,/AssembleName;component/Generic.xaml)
Ответ 2
ОК, Наконец я решил это сам. вот как я его решил.
Когда вы создаете Phone Class Library Project
, вы не будете ResourceDictionary.xaml by default
, поэтому создайте страницу xaml, например, как вы создаете обычный файл xaml.
Right click on solution ->Add New Item ->Windows Phone Portrait Page.
Теперь удалите созданный файл .cs, добавьте в файл .XAML добавьте свой стиль, который находится в теге ResourceDictionary
.
Выше все сделано в Library project.
Теперь в child app:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="LibraryResourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
предположим, что у вас есть стиль, определенный в ResourceDictionary как MainScreenButtonStyle, который вы можете установить таким образом
button.Style = (Style)Application.Current.Resources["MainScreenButtonStyle"] as Style;