Я пытаюсь ссылаться на LinearGradientBrush с XAML анализатором, но он не может идентифицировать объект, и я получаю исключение:Как использовать встроенный XAML в C# легко создавать собственные объекты в коде-за
«Невозможно создать неизвестный тип« LinearGradientBrush »«
Возможно ли, чтобы этот тип был распознан во время выполнения?
Вот код, я использую:
public static class CustomBrushes
{
public static Brush LinGrad_Bevel()
{
StringReader sr = new StringReader(@"<LinearGradientBrush EndPoint='0.5,1' MappingMode='RelativeToBoundingBox' StartPoint='0.5,0'>
<GradientStop Color='#00F7F7F7' Offset='0'/>
<GradientStop Offset='1'/>
<GradientStop Color='Black' Offset='0.741'/>
<GradientStop Color='Black' Offset='0.75'/>
<GradientStop Color='White' Offset='0.25'/>
</LinearGradientBrush>");
XmlReader xr = XmlReader.Create(sr);
return (Brush)XamlReader.Load(xr);
}
}
Я действительно не люблю программирует в XAML (особенно потому, что большинство из того, что я делаю, это дизайн зависит от потока выполнения программы, но некоторые объекты просто путь проще прототипа в нем, чем C#, и я бы предпочел использовать этот метод ...
Я читал, что я должен включать такую строку где-то, но, честно говоря, я не понимаю почему и кажется, что это не работает, если я придерживаюсь его под всеми «операциями»
[сборка: XmlnsDefinition («http://schemas.microsoft.com/netfx/2007/xaml/presentation», «System.Windows.Media»)]
В любом случае, любая помощь при анализе времени выполнения XAML в файлах кода C# будет оценена.
SOC (разделение интересов) существует, чтобы сделать! Если вам действительно нужно это сделать, используйте Object из API WPF. – Fals
Весь код для этого UserControl выполняется в коде. Я недостаточно разбираюсь в XAML относительно того, как процедурно делать много изменений в GUI во время выполнения без использования C#, что и делает этот UserControl (много добавлений и вычитаний объектов сетки и их изменение размера и т. Д.), Но я может сделать это на C#. Я просто подумал, что было бы легче создать кисть, как мне это нравится, и проанализировать ее, а не вручную записать ее на C# ... – ThisHandleNotInUse