Допустим, вы разрабатываете пользовательский элемент управления, и есть ключевая часть шаблона, которая требуется вашему коду.Если пользователь вашего элемента управления переопределяет шаблон так, что деталь больше не существует, то какое исключение следует выдать?Рассмотрим:
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var grid = GetTemplateChild("MySpecialGridPart") as Grid;
if (grid == null)
throw new WhatExceptionGoesHere();
}
Я полагал, что использование XamlParseException было хорошим выбором, но это исключение не имеет публичного ctor.Для этого есть подходящий тип исключения или я должен просто сгенерировать новое Exception ()?