Используйте вложенный класс, когда класс, Вы - вложение, только полезен для класса включения. Например, вложенные классы позволяют Вам писать, что чему-то нравится (упрощенный):
public class SortedMap {
private class TreeNode {
TreeNode left;
TreeNode right;
}
}
можно сделать полное определение класса в одном месте, Вы не должны переходить ни через какие обручи PIMPL, чтобы определить, как Ваш класс работает, и внешний мир не должен видеть ничего Вашей реализации.
, Если бы класс TreeNode был внешним, необходимо было бы или сделать все поля public
или сделать набор get/set
методы для использования его. Внешний мир имел бы другой класс, загрязняющий их intellisense.
Вероятно, вы захотите ознакомиться с документацией по расширению WPF Designer . В частности, это звучит так, будто вы хотите создать настраиваемое действие MenuAction .
Это поможет вам получить нужное контекстное меню, хотя это относится к сетке данных, которая все еще применима; Пошаговое руководство во время разработки WPF DataGrid