Присвойте свойству начальное значение, которое можно отличить от любого другого значения, для которого оно может быть установлено (то есть, нулевое для ссылочных типов).
В тот момент, когда вам нужно свойство, если оно не было установлено (this.Property == UnsetValue), сгенерируйте исключение InvalidOperationException с описанием проблемы.
Кроме того, убедитесь, что это заметно описано в документации к классу, свойству и всем методам, которые выдают исключение, если свойство не установлено.
**
редактировать
В качестве альтернативы, вы можете создать схему XSD для вашего элемента управления, которая идентифицирует свойство как необходимое, однако я не знаю, как это сделать.
Более быстрое решение может заключаться в реализации ISupportInitialize, который позволит вам проверять свойство во время десериализации, когда вы можете вызвать исключение. Вот пост об этом в блоге Релии об этом.