Я использую шаблон управления, чтобы показать ошибки проверки на каждом из моих элементов управления, используя встроенный механизм проверки WPF, и все работает нормально. ControlTemplate выглядит следующим образом:Как использовать шаблон проверки без механизма проверки?
<ControlTemplate x:Key="MyErrorTemplate" TargetType="{x:Type Control}">
<StackPanel Orientation="Horizontal">
<Border BorderBrush="Red" BorderThickness="2" CornerRadius="3">
<AdornedElementPlaceholder Name="MyAdorner" />
</Border>
<Image Name="imgError"
Source="/MyAssembly;component/Images/ValidationIcon.png"
ToolTip="{Binding ElementName=MyAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}"/>
</StackPanel>
</ControlTemplate>
Я прочитал, что механизм проверки оборачивает проверенное управление с шаблоном управления (по умолчанию один или обычаем один, как и выше), когда управление получает ошибку.
«Когда система проверки WPF обнаруживает недопустимое управление он создает и Adorner, который держит контроль (...), вставляет в него контроль и наборы, которые контролируют шаблон для содержания Validation.ErrorTemplate прилагается собственность.
Он позиционирует Adorner выше первоначального контроля, так что AdornedElementPlaceholder точно над контролем и давайте легко поместить шаблон управления контентом по сравнению с первоначальным контроля»(see more)
Как я могу выполнить такое же поведение для других функций? Я имею в виду использование «MyErrorTemplate» без системы проверки WPF, возможно ли это?
Вы ищете интерфейс IDataErrorInfo WPF использует этот интерфейс для проверки объектов. (См. Здесь http://japikse.blogspot.fr/2009/07/idataerrorinfo-error-templates-and-wpf.html) –
Нет, я не хочу. Я хочу назначить тот же шаблон проверки для элемента управления без использования механизма проверки –