Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / сохранение изображений во внешнем xaml-файле словаря / 10 сообщений из 10, страница 1 из 1
24.02.2011, 15:17
    #37133866
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
Есть необходимость хранить изображения в xaml-словаре. Как это правильно записать?
Нужно что-то вроде такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:sys="clr-namespace:System;assembly=mscorlib"
                    >
    <!--Определяем линейную градиентную заливку-->
    <LinearGradientBrush x:Key="myBG">
        <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0" Color="Red"/>
            <GradientStop Offset="0.25" Color="Gray"/>
            <GradientStop Offset="0.5" Color="White"/>
            <GradientStop Offset="1" Color="Black"/>
        </LinearGradientBrush.GradientStops>        
    </LinearGradientBrush>
    <!--Высота шрифта-->
    <sys:Double x:Key="fontSize"> 20 </sys:Double>
    <BitmapImage x:Key="img">
        <BitmapImage.StreamSource>
            iVBORw0KGgoAAAANSUhEUgAAAu4AAALuCAYAAADxHZPKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAXEQAA
        FxEByibzPwAA/3lJREFUeF7sfQd4VGX6/aT33nub9N47HRR772LvXdG1KzWQ0HtHLLvu7t/fuus2uy5S
        kxB6kRIQUOkKAvbzP+93E0TXXRSRzYQ3z3OfO5ly7537nZl7vjPnPa8TAJv+6RnQM6BnQM+AngE9A3oG
        9AzoGdAz0MHPgBB3XfQcKAYUA4oBxYBiQDGgGFAMKAY6NgaUtOvERTGgGFAMKAYUA4oBxYBiQDHgABjQ
        ...
        aUAakAakAWlAGgiABrRIAVgk7bC1w5YGpAFpQBqQBqQBaUAaELgL3KUBaUAakAakAWlAGpAGpIEAaECL
        FIBF0g5bO2xpQBqQBqQBaUAakAakAYG7wF0akAakAWlAGpAGpAFpQBoIgAa0SAFYJO2wtcOWBqQBaUAa
        kAakAWlAGhC4C9ylAWlAGpAGpAFpQBqQBqSBAGhAixSARdIOWztsaUAakAakAWlAGpAGpAGBu8BdGpAG
        pAFpQBqQBqQBaUAaCIAGtEgBWCTtsLXDlgakAWlAGpAGpAFpQBoQuAvcpQFpQBqQBqQBaUAakAakgQBo
        QIsUgEXSDls7bGlAGpAGpAFpQBqQBqQBgbvAXRqQBqQBaUAakAakAWlAGgiABrRIAVgk7bC1w5YGpAFp
        QBqQBqQBaUAaELgL3KUBaUAakAakAWlAGpAGpIEAaECLFIBF0g5bO2xpQBqQBqQBaUAakAakgf8PFepq
        ur3Bp70AAAAASUVORK5CYII=
        </BitmapImage.StreamSource>
    </BitmapImage>
</ResourceDictionary>
...
Рейтинг: 0 / 0
24.02.2011, 15:56
    #37133982
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
или может можно как-то так:
написать xaml-словарь, рядом положить dll-файл, в котором сохранены изображения, а в xaml-словаре как-то ссылаться на эти изображения....
Я так понял - никто не в курсе?
...
Рейтинг: 0 / 0
24.02.2011, 16:05
    #37134003
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Button originalButton = new Button();
 originalButton.Height = 30;
 originalButton.Width = 100;
 originalButton.Background = Brushes.Blue;
 originalButton.Content = "Click Me";
 
 // Save the Button to a string.
 string savedButton = XamlWriter.Save(originalButton);
 
 // Load the button
 StringReader stringReader = new StringReader(savedButton);
 XmlReader xmlReader = XmlReader.Create(stringReader);
 Button readerLoadButton = (Button)XamlReader.Load(xmlReader); 
...
Рейтинг: 0 / 0
24.02.2011, 16:25
    #37134051
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
Проще готовые изображения вынести в отдельные ResourceDictionary и подключать их в
<ResourceDictionary.MergedDictionaries>
...
Рейтинг: 0 / 0
24.02.2011, 16:44
    #37134101
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
тут не совсем простая ситуация... В AutoCAD реализована такая фича: при наведении мышкой на кнопку панели инструментов, если подождать пару секунд, вылезает окошко со справкой. Эта справка автокадом читается из внешнего xaml-файла словаря. Т.о. всё нужно решить без кода: нужен xaml-словарь, но в нём же хотелось бы и изображения сохранить, чтобы всё было в одном файле.
...
Рейтинг: 0 / 0
24.02.2011, 17:27
    #37134213
aleks-sam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
Я чет не пойму, ты автокад мутишь (судя по ссылке в юеринфо) ?
...
Рейтинг: 0 / 0
24.02.2011, 18:17
    #37134367
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
aleks-samЯ чет не пойму, ты автокад мутишь (судя по ссылке в юеринфо) ?
пишу программы под AutoCAD, плюс так по мелочи...
...
Рейтинг: 0 / 0
24.02.2011, 18:50
    #37134431
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
Compositum,

так а что автокад внешние ссылки грузить не хочет?
положите рядом с xaml-файлом изображение и ссылайтесь на него
...
Рейтинг: 0 / 0
24.02.2011, 19:01
    #37134450
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
уТКаCompositum,

так а что автокад внешние ссылки грузить не хочет?
положите рядом с xaml-файлом изображение и ссылайтесь на него
Да нет же, это конечно работает :) - на этом и остановился. Просто один из знакомых программистов хотел именно в один файл всё засунуть, вот мне и самому стало интересно.
Кстати, в AutoCAD пример xaml-файла, со всплывающей справкой выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<ResourceDictionary
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:src="clr-namespace:Autodesk.Windows;assembly=AdWindows">

 <src:ProgressivePanel x:Key="MYEH_CMD_0001">
 <StackPanel>
 <TextBlock Background="AntiqueWhite" TextAlignment="Center">
 Creates a rectangular revision cloud on the <Bold>REVISION</Bold> layer.
 </TextBlock>
 <Image Source="images/rectcloud.jpg" Width="Auto" Height="Auto">
 </Image>
 </StackPanel>
 </src:ProgressivePanel>

 <src:ProgressivePanel x:Key="MYEH_CMD_0002">
 <StackPanel>
 <TextBlock Background="Yellow" TextAlignment="Left">
 Creates a polygonal revision cloud on the
 <Run Text=" REVISION " Foreground="Red" FontStyle="Italic"/>
 layer.
 </TextBlock>
 <Image Source="images/rectcloud.jpg" Width="Auto" Height="Auto">
 </Image>
 </StackPanel>
 </src:ProgressivePanel>
</ResourceDictionary>
Как видим - это словарь. Но есть одно но... Если в нём попытаться сослаться на ресурсы др словарей (через ResourceDictionary.MergedDictionaries), то в AutoCAD они не находятся, даже если указать абсолютные пути... Тот же самый код в WPF приложении работает как часы.
...
Рейтинг: 0 / 0
24.02.2011, 22:54
    #37134704
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение изображений во внешнем xaml-файле словаря
Compositum,

теперь вы знаете различие между WPF & AutoCAD
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / сохранение изображений во внешнем xaml-файле словаря / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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