2012-01-26 3 views
1

У меня есть код XAML:Предотвратить писать много повторяющегося кода в XAML

<TextBlock Text="Param 1 name" Margin="6,6,0,0"></TextBlock> 
<TextBox Text="{Binding Param1Value, UpdateSourceTrigger=PropertyChanged}" Margin="6,6,0,0"></TextBox> 

<TextBlock Text="Param 2 name" Margin="6,6,0,0"></TextBlock> 
<TextBox Text="{Binding Param2Value, UpdateSourceTrigger=PropertyChanged}" Margin="6,6,0,0"></TextBox> 

... 

<TextBlock Text="Param N name" Margin="6,6,0,0"></TextBlock> 
<TextBox Text="{Binding ParamNValue, UpdateSourceTrigger=PropertyChanged}" Margin="6,6,0,0"></TextBox> 

Как можно оптимизировать этот код, чтобы предотвратить копипаст? Управление, стиль, ContentControl или DataTemplate?

Я могу использовать стиль для повторного использования поля, но как можно повторно использовать структуру этих пар TexBlock и TextBox?

+3

Название этого вопроса вводит в заблуждение; сначала я подумал, что это касается отключения Ctrl-C/Ctrl-V на элементах управления. Вместо этого вы хотели предотвратить многократное дублирование кода. Не могли бы вы изменить название на что-то более подходящее, так что другие, ищущие похожий ответ, могли бы найти это легче? –

ответ

3

Создайте UserControl с двумя свойствами (например, Caption и Text) и привяжите TextBlock к Caption и TextBox к свойству Text.

Вы также можете использовать шаблонное управление, если вы хотите, чтобы конструктор создал пользовательские шаблоны, чтобы он мог полностью контролировать дизайн пользовательского интерфейса.

UserControl vs. Custom/Templated Control (читать весь поток для максимальной выгоды):

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

Смежные вопросы