У меня есть приложение, в котором есть квази IDE, где TreeView выступает в качестве обозревателя решений.Пользователь является дизайнером экрана, который может выглядеть следующим образом.
Root
Menus
MainMenu
MenuItem1
Button Bars
MainBar
Button1
У меня изначально были проблемы с контекстными меню.В приведенном выше примере MenuItem1 не имеет контекстного меню, но MainMenu делает.Ну, MenuItem1 будет наследовать контекстное меню от MainMenu.Я получил это, создав пустое контекстное меню и присвоив его MenuItem1.Хотелось бы что-нибудь более элегантное.
У меня такие же проблемы с подсказками.Если я назначу один MainMenu, то MenuItem1 наследует тот, который назначен MainMenu.Я попытался установить подсказку MenuItem1 на ноль, ничего не сделал.Если я установлю его на «», пустая строка переопределяет всплывающую подсказку MainMenu, но когда вы наводите курсор мыши на MenuItem1, появляется небольшое пустое поле с подсказкой.Я думал, что система была бы достаточно умной, чтобы не показывать окно, если бы это была пустая строка, но, очевидно, нет.
Как я могу запретить детям наследовать свойства контекстного меню и всплывающей подсказки от своих родителей?
Обновлено
Все еще возникают проблемы с этим.Я проанализировал свои предметы, используя Snoop, и это указывает на то, что эти свойства унаследованы, но я до сих пор не вижу никакого решения о нарушении наследования.
Единственное, что я могу придумать, это то, что для каждой всплывающей подсказки обрабатываетсяToolTipOpening и проверьте строку, если она не имеет длины, затем немедленно закройте ее.Хотя должен быть лучший способ.