2012-06-21 2 views
2

Я хочу загрузить элемент WPF из внешнего файла. Пример У меня есть файл brush.xaml так:Загрузить элемент из внешнего файла

<SolidColorBrush>Black</SolidColorBrush> 

И я хочу, чтобы загрузить эту кисть в мой код:

using(FileStream stream = new FileStream("brush.xaml")) 
    Brush myBrush = XamlReader.Load(stream) as Brush; 

Как я могу сделать?

ответ

2

Ваш код правильный, но при использовании XAML файла:

<SolidColorBrush xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> 
    #FF0000 
</SolidColorBrush> 

С hexade формат. В любом случае, если у вас есть какие-либо сомнения, вы можете сделать тест, используя XamlWriter.

+0

Спасибо, это работает, хорошее предложение! – Nick

0

Вместо того, чтобы загружать его, анализируя XAML. Поместите эти элементы в ресурсный словарь. Вы можете ссылаться на эти ресурсы как на XAML, так и на C#.

Для получения дополнительной информации:

http://blogs.msdn.com/b/wpfsldesigner/archive/2010/06/03/creating-and-consuming-resource-dictionaries-in-wpf-and-silverlight.aspx

http://www.codeproject.com/Articles/35346/Using-a-Resource-Dictionary-in-WPF

Accessing ResourceDictionary from WPF UserControl

+1

Нет, мне нужно загрузить синтаксический анализ XAML, как я писал. – Nick