Наименование WPF-элементов управления в разметке - PullRequest
7 голосов
/ 18 июля 2010

Как я уже говорил в другом посте , иногда я получаю доступ к элементам управления прямо из кода.Если я делаю это, я называю элементы управления так же, как и в ControlTemplates и DataTemplates, я даю им префикс PART_ , и после этого я уточняю имя, например:это против общей схемы именования WPF?Раньше я использовал префикс m_ с последующим описанием…

<TextBox Name=”m_userName” />

.. потому что на самом деле это именно так, но мне это не понравилось.Как вы думаете?Пожалуйста, обратите внимание, я не хочу обсуждать, использовать ли MVVM или нет.Есть ситуации, которые меня не волнуют.

1 Ответ

11 голосов
/ 18 июля 2010

Шаблон PART_<name> используется при написании пользовательских элементов управления, которые могут быть повторно помечены.Это названия обязательных частей шаблона, без которых не может работать элемент управления.Такие имена обычно объявляются с атрибутом [TemplatePart] в коде C #:

[TemplatePart(Name = "PART_TextBox", Type = typeof(TextBox))]
[TemplatePart(Name = "PART_UpButton", Type = typeof(Button))]
[TemplatePart(Name = "PART_DownButton", Type = typeof(Button))]
public class NumericUpDown : Control
{
    ...

     protected override OnApplyTemplate()
     {
         base.OnApplyTemplate();

         // Find controls in the template
         TextBox textBox = Template.FindName("PART_TextBox", this) as TextBox;
         Button upButton = Template.FindName("PART_UpButton", this) as Button;
         Button downButton = Template.FindName("PART_DownButton", this) as Button;

         // Do something with the controls...
         ...
     }

    ...
}

Поэтому, если вы не пишете шаблон элемента управления, нет причин использовать этот шаблон именования.Просто назовите ваши элементы управления так, как вам нравится, если это имеет смысл для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...