Сокрытие "лишних" свойств UserControl'ов

WPF
  1. 9 месяцев(а)
    Добавлено 9 месяцев(а) apriori

    Приветствую! Александр, спасибо вам большое за ваш сайт.

    Делаю UserControl'ы (отдельной библиотекой) для своего модульного проекта (с плагинами).
    1. Как именовать элементы ЮзерКонтрола таким образом, чтобы извне к ним не было доступа по имени (т.е. делать их приватными, доступными только из самого юзерконтрола)? Я вижу только такой вариант:

    <UserControl x:Class="MyControl">
      <StackPanel>
        <Button ></Button>
        <Button ></Button>
      </StackPanel>
    </UserControl>
    class MyControl : UserControl {
      private Button btn1 = (this.Content as StackPanel).Children[0] as Button;
      private Button btn2 = (this.Content as StackPanel).Children[1] as Button;
      ...
    }

    2. Как исключить возможность доступа к дочерним элементам юзерконтрола тем способом, который я показал выше, но извне? Например:

    var ctl = new MyControl();
    var btn = (ctl.Content as StackPanel).Children[0] as Button;

    3. Как скрыть стандартные (наследуемые от класса UserControl) поля самого юзерконтрола, которые я считаю "ненужными"? Т.е. какие-то свойства, события, методы и т.п.

или зарегистрируйтесь чтобы ответить