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

WPF
  1. год назад
    Добавлено год назад 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) поля самого юзерконтрола, которые я считаю "ненужными"? Т.е. какие-то свойства, события, методы и т.п.

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