У меня есть класс Cell, который выглядит примерно так:
public Color color{get { return colorr; }
set { colorr = value;
if (this.PropertyChanged != null){
this.PropertyChanged(this, new PropertyChangedEventArgs("color"));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
Я добавляю много ячеек в viewport3D для генерации кубов. И цвета клеток меняются со временем. Так что мой вопрос - вместо того, чтобы перерисовывать ячейки при каждом их изменении, могу ли я связать цвет ячейки со сплошной кистью в коде?
У меня есть что-то подобное, но это не сработает.
Binding b = new Binding();
b.Source = cell.color;
SolidColorBrush solidBrush = new SolidColorBrush();
BindingOperations.SetBinding(solidBrush, SolidColorBrush.ColorProperty, b);
Material material = new DiffuseMaterial(solidBrush);
Я бы предположил, что теперь цвет solidBrush будет меняться при изменении цвета ячейки, и, следовательно, цвет куба в области просмотра3D. Но это не так.
Спасибо
- Дэвид