Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
namespace MyNS
{
public class MyControl
{
public static readonly ComponentResourceKey MyResourceKey =
new ComponentResourceKey(typeof(MyControl), "MyResource");
private static Brush m_MyResourceCache;
public static Brush MyResource
{
get
{
if (null == m_MyResource)
m_MyResource = (Brush)Application.Current.FindResource(MyResourceKey);
return m_MyResource;
}
}
}
}
VSProject.Project.Properties.Item("DefaultNamespace").Value.ToString() лучше использовать CallContext.LogicalGetData("NamespaceHint"). Эта штука сама просчитает правильный путь по папкам и учтёт неймспейс из настроек скрипта.var res = (ResourceDictionary)XamlReader.Load(File.OpenRead(Host.ResolvePath("Res.xaml")));
var str = string.Join("\n", res.OfType<DictionaryEntry>().Select(i => string.Format("{0} {1}", i.Value.GetType(), i.Key)));
XamlReader.Load(File.OpenRead(Host.ResolvePath("/App.xaml")));
System.InvalidOperationException: Cannot create more than one System.Windows.Application instance in the same AppDomain
Хочу рассказать, как максимально удобно работать с XAML-ресурсами из Code-Behind. В этой статье мы разберемся, как работают пространства имен XAML, узнаем о XmlnsDefinitionAttribute, используем Т4-шаблоны и сгенерируем статичный класс для доступа к XAML-ресурсам.
Вы всегда можете передать такие настройки и через DependencyProperty, но зачем?
Как получить удобный доступ к XAML-ресурсам из Code-Behind