Я получил следующую структуру папок в моей проблеме:Binding Фон из другого класса
- Themes // folder
- ThemeManager.cs // self explaining
- ITheme.cs // theme interface
- Light.cs // typeof ITheme
ThemeManager.cs:
public static class ThemeManager
{
public static ITheme Theme { get; set; } = new Light();
}
ITheme.cs:
//using System.Windows.Media
public interface ITheme
{
string Color { get; set; }
Brush Color2 { get; set; }
}
Light .cs:
//using System.Windows.Media
class Light : ITheme
{
public string Color { get; set; } = "#FF00FF00";
public Brush Color2 { get; set; } = new SolidColorBrush(Colors.Lime);
}
Все три файла находятся в пространстве имен MyProject.Themes
.
Я использую следующий код для связывания Background
свойства в моем XAML
xmlns:theme="clr-namespace:MyProject.Themes.ThemeManager.Theme"
но оба
Background="{Binding theme:Color}"
Background="{Binding theme:Color2}"
сделать фон прозрачным из-за отсутствие результата от связывания.
Что я делаю неправильно? Как правильно привязать фон?
К сожалению, этот вопрос касается UWP (судя по тегу), а UWP-вкус XAML не поддерживает 'x: Static'. (Ваш комментарий действителен для полного WPF.) –
К сожалению, мой плохой - я неправильно читаю тег WPF как UWP. Извиняюсь! –