Есть класс пользовательского компонента, содержащий свойство зависимости
public partial class FormulaEditor : UserControl
{
public static readonly DependencyProperty FormulaBindingProperty =
DependencyProperty.Register("FormulaBinding", typeof(Formula), typeof(FormulaEditor));
/// <summary>
/// Свойство зависимости для привязки объекта формулы
/// </summary>
public Formula FormulaBinding
{
get
{
return GetValue(FormulaBindingProperty) as Formula;
}
set
{
SetValue(FormulaBindingProperty, value);
ViewModel = new FormulaViewModel(value);
}
}
...
}
Есть ViewModel
public class WorkTypeViewModel : BaseViewModel<WorkTypeViewModel>
{
public int Id { get; set; }
public string Name { get; set; }
public Formula Formula { get; set; }
...
}
Есть окно, в котором используется привязка и ViewModel
<local:FormulaEditor Margin="0" Grid.Row="2" MinWidth="500" MinHeight="250" FormulaBinding="{Binding Path=Formula}"/>
Все остальные привязки через DataContext в этом окне работают, но в UserControl не вызывается даже методы get и set у свойства зависимости FormulaBinding. Нужно, чтобы когда в UserControl изменяется FormulaBinding, изменялся соответственно Formula во ViewModel