[WPF4, Validation] Как бы обновить валидацию?:)
От: Sinix  
Дата: 18.10.10 07:57
Оценка:
// псевдокод
public enum ControlProperties
{
  Name, Description, Foo, Bar
}

class CustomControl: Control: IDataErrorInfo
{
  public string Name { get; set; }
  public string Description { get; set; }
  public string Foo { get; set; }
  public string Bar { get; set; }

  public ControlProperties ValidProperties { get; set; }
  // ...
}


В шаблоне контрола:
{Binding Path=Name, RelativeSource={RelativeSource TemplatedParent}, ValidatesOnDataErrors=True}


Задача: обновить Validation.HasError (и, соответственно, вывод ошибок валидации) при изменении ValidProperties.
Доп условие: без обхода visual tree и поиска BindingExpression

Единственный найденный воркараунд:
  protected CustomControl Self { get; set; }
  protected event EventHandler SelfChanged

{Binding Path=Self.Name, RelativeSource={RelativeSource TemplatedParent}, ValidatesOnDataErrors=True}

И эти люди борются за звание дома высокой культуры быта! (с)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.