Swift 4:
В контроллере вида, от которого вы хотите скрыть панель навигации.
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.setNavigationBarHidden(true, animated: animated)
super.viewWillAppear(animated)
}
override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.setNavigationBarHidden(false, animated: animated)
super.viewWillDisappear(animated)
}
DataGridView
не использует TypeConverter
; PropertyGrid
использует TypeConverter
.
Если он относится к элементам управления списком, таким как DataGridView
, то другой ответ неверен.
Для предоставления настраиваемых свойств на список, вам понадобится один из:
ITypedList
в источнике данных TypeDescriptionProvider
в типе Оба варианта нетривиальны.
Мое предложение - создать a Интерфейс, который "повторно реализует" нужные вам свойства:
Допустим, у вас есть два интерфейса:
public interface IHasName1
{
String Name1 { get; set; }
}
public interface IHasName2 : IHasName1
{
String Name2 { get; set; }
}
И класс, реализующий IHasName2:
public class HasTwoNames : IHasName2
{
#region IHasName1 Member
public string Name1 { get; set; }
#endregion
#region IHasName2 Member
public string Name2 {get; set; }
#endregion
}
Теперь, спасибо за выяснение этого, кстати, если у вас есть List с объекты конкретного типа HasTwoNames, и вы привязываете этот список к dgv, он отображает только член (Name2) IHasName2.
«Обходной путь» - создать новый интерфейс «IHasEverything» (Если вы удалите свойство из IHasName2, код все равно будет компилироваться, но вы получите предупреждение о том, что IHasEverything не требует нового ключевого слова.