Существует ли стандартное соглашение об именах для элементов управления пользовательского интерфейса WPF? - PullRequest
5 голосов
/ 07 декабря 2010

существует какой-то стандарт для обозначения элементов управления пользовательского интерфейса в WPF. Что-то вроде венгерской нотации.

Например

<TextBox Name=tbNameOfTextBox/>
<Image   Name=imgOfMe/>
<RichTextBox Name="rtbDocument"/>

Какую нотацию вы используете?

И мой второй вопрос касается последовательности, свойств организации в элементе.

Например, у меня есть это:

<ListBox Name="friendsListBox" 
         ItemsSource="{Binding}" 
         SelectedItem="Key"
         Style="{DynamicResource friendsListStyle}"
         PreviewMouseRightButtonUp="ListBox_PreviewMouseRightButtonUp"
         PreviewMouseRightButtonDown="ListBox_PreviewMouseRightButtonDown" 
         Grid.Row="2" 
         Margin="4,4,4,4"
         MouseRightButtonDown="FriendsListBoxMouseRightButtonDown">

или

    <TextBox Name="TbStatus"
             Text="{Binding Path=Message, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
             Style="{StaticResource CurveTextBox}"
             Grid.Column="1" 
             TextWrapping="Wrap" 
             Margin="3,3,3,3" LostFocus="TbStatus_LostFocus" />

В списке есть такие свойства, как Name, ItemSource, SelectedItem и som Events. Что подходит для их организации. Сначала должно быть имя элемента управления пользовательского интерфейса, затем события и, наконец, свойства стиля?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2010

1) Управление именами

Должно быть достаточно поста, предложенного Коди Греем Соглашения об именах элементов пользовательского интерфейса WPF

2) Именование события

Я предпочитаю использовать то же соглашение, что и Visual Studio " _ ". Когда вы вводите имя события и нажимаете TAB, он генерирует метод для вас. Не вижу смысла тратить время на его переименование, кроме как использовать его на нескольких элементах управления - в таком случае вы захотите предоставить какое-то общее описательное имя для обработчика.

3) Порядок атрибутов

Шахта: имя (если существует), события в последнюю очередь. Все остальные атрибуты должны быть сгруппированы по их влиянию - внешнему виду (фон, передний план, прозрачность и т. Д.), Макету (высота, ширина, параметры) и т. Д. Не иметь ширину в верхней части списка атрибутов, а высоту внизу.

2 голосов
/ 07 декабря 2010

Я думаю, что в основном это вопрос личных предпочтений, поэтому многие люди могут не согласиться со мной здесь.Просто отвечая, как я это делаю.

На ваш первый вопрос
Мы долго обсуждали это в моей бывшей компании, и, наконец, мы решили пойти с верблюжьей шкурой, заканчивающейсяТип управления и без сокращений.Так что в вашем случае

<TextBox Name="nameOfTextBox"/> 
<Image Name="meImage"/> 
<RichTextBox Name="documentRichTextBox"/>

Это, безусловно, не стандарт, но я все время использую его

Для вашего второго вопроса
Я думаю, что хороший способсначала поместить свойство Name, затем присоединенные свойства (например, Grid.Row, Grid.Column и т. д.), а затем стиль.После этой группы по категориям, как макет, видимость и т. Д. События должны быть последними.Пример

<ListBox Name="friendsListBox"
         Grid.Row="2"
         Style="{DynamicResource friendsListStyle}"
         ItemsSource="{Binding}"
         SelectedItem="Key"
         Margin="4,4,4,4"
         PreviewMouseRightButtonUp="friendsListBox_PreviewMouseRightButtonUp"
         PreviewMouseRightButtonDown="friendsListBox_PreviewMouseRightButtonDown"
         MouseRightButtonDown="friendsListBox_MouseRightButtonDown">

<TextBox Name="statusTextBox"
         Grid.Column="1"
         Style="{StaticResource CurveTextBox}"
         Text="{Binding Path=Message,
                        Mode=TwoWay,
                        UpdateSourceTrigger=PropertyChanged}"
         TextWrapping="Wrap"
         Margin="3,3,3,3"
         LostFocus="statusTextBox_LostFocus" /> 
...