У меня есть пользовательский элемент управления со следующим кодом:
public partial class TableSelectorControl : UserControl
{
private Brush _cellHoverBrush = new SolidColorBrush(Colors.CadetBlue) { Opacity = 0.3 };
public static readonly DependencyProperty ActiveSelectionProperty =
DependencyProperty.Register("ActiveSelection", typeof(TableSelectorSelection),
typeof(TableSelectorControl));
public TableSelectorSelection ActiveSelection
{
get => (TableSelectorSelection)GetValue(ActiveSelectionProperty);
set
{
SetValue(ActiveSelectionProperty, value);
_cellHoverBrush = value.HoverBrush;
}
}
}
Как видите, я пытаюсь установить _cellHoverBrush
для каждого ActiveSelectionProperty
обновления, что делается из ViewModel. Привязка работает хорошо, и кажется, что ActiveSelectionProperty
меняется, но установщик не стреляет. Я, конечно, могу использовать FrameworkProperyMetadata
, но я не хочу, чтобы _cellHoverBrush
стал static
, идея состоит в том, чтобы изменить его относительно выбранного ActiveSelection
. Как мне этого добиться?
Я могу предоставить больше информации, если это необходимо.