powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Блин, не могу тему сделать!
3 сообщений из 3, страница 1 из 1
Блин, не могу тему сделать!
    #39292830
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу сделать в во всех модулях одинаковый внешний вид у контролов. Почитал книгу (ProWPF), делаю как там. Делаю либу со стилями и картинками.
Сделал либу, назвал Container9Styles, там сделал Themes/Generic.xaml, туда делаю копипасту (с моими именами) из примера:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Container9Styles">
	<Style TargetType="Button" x:Key="BtnStyle">
		<Setter Property="MinWidth" Value="85" />
		<Setter Property="MaxWidth" Value="250" />
		<Setter Property="HorizontalAlignment" Value="Center" />
	</Style>

	<ImageBrush 
		x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:Container9Resources}, ResourceId=SettingsImageBrush}" 
		TileMode="Tile" ViewportUnits="Absolute" Viewport="0 0 20 20"
		ImageSource="Container9Styles;Sett.png" Opacity="0.3" />

</ResourceDictionary>



сделал класс-аксессор:
Код: c#
1.
2.
3.
4.
5.
	public class Container9Resources
	{
		public static ComponentResourceKey SettingsImageBrush { get { return new ComponentResourceKey(typeof(Container9Resources), "SettingsImageBrush"); } }
		public static ComponentResourceKey BtnStyles { get { return new ComponentResourceKey(typeof(Container9Resources), "BtnStyles"); } }
	}



Картинка Sett.png, имеется, в корне проекта, свойство Build Action=Resource стоит.

Сделал WPF приложение, подключил ссылку на либу Container9Styles, Пытаюсь использовать:
Код: xml
1.
2.
3.
4.
 		<Button Content="btn 1"
 				Background="{DynamicResource {ComponentResourceKey TypeInTargetAssembly={x:Type res:Container9Resources}, ResourceId=SettingsImageBrush}}"/>
		<Button Content="btn 2"
				Background="{DynamicResource {x:Static res:Container9Resources.SettingsImageBrush}}"/>


В книге приводится 2 способа использования ресурса ImageBrush: В обоих случаях ошибка та же: "The resource "имя_что_в_кавычках" could not be resolved."

Рядом два проекта - один сампл от книжки (VS2008), второй - мой (VS2010). В чём разница, не могу понять. Настройки все проверил. Референсы тоже. Собирается норм. Конфиги тоже одинаковые.

Иногда в редакторе появляется ошибка Cannot locate resource 'container9styles;sett.png'. Странно, загрузил либу в ILSpy - картинка на месте.
Чего не хватает? Уже всю голову сломал!
...
Рейтинг: 0 / 0
Блин, не могу тему сделать!
    #39293880
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, пересоздал всё сначала - заработало. Поменял название класса-аксессора, теперь как в примере CustomResources. Наверное, я какую-то настройку пропустил.
...
Рейтинг: 0 / 0
Блин, не могу тему сделать!
    #39293929
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, просто неправильно на картинку сослался, не заметил элемента адреса component. Вот так всё заработало:

ImageSource="Container9Styles; component/ Sett.png"
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Блин, не могу тему сделать!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]