Полностью зависит от того, какую ошибку вы получаете, потому что синтаксис вложенных свойств должен работать для привязок WinForm.
В качестве обходного пути (может быть, DataRepeater не использует обычные механизмы привязки?) Добавьте свойство к реализации ITip, чтобы обернуть его:
public string UsersUserName
{
get { return User != null ? User.UserName : null; }
}
Редактировать: Также не забывайте реализовывать INotifyPropertyChanged для ваших объектов данных, если вы хотите, чтобы привязки обновлялись, когда значения делаются. В этом случае отправьте измененные свойства свойства как для свойства User реализаций ITip, так и для UserName реализации IUser.