防止在XAML中编写大量重复代码

时间:2012-01-26 06:09:09

标签: wpf xaml copy-paste

我有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>

如何优化此代码以防止复制粘贴? Control,Style,ContentControl或DataTemplate?

我可以使用Style重用margin,但是如何重用这对TexBlock和TextBox的结构?

2 个答案:

答案 0 :(得分:4)

使用两个属性(例如,标题和文本)创建一个UserControl,并将TextBlock绑定到Caption,将TextBox绑定到Text属性。

如果您想允许设计师创建自定义模板以便他可以完全控制UI设计,您也可以使用模板化控件。

UserControl vs. Custom/Templated Control(阅读整个帖子以获得最大收益):

  

用户控件和自定义控件之间的区别在于If   你有一部分视图或用户界面将重复使用   你自己的项目,使用UserControl是一个更简单和首选   方式,但如果你有一部分UI和功能,你   相信将使用aross不同的项目,然后使用自定义   控制是正确的方法。

答案 1 :(得分:2)

您可以尝试ItemsControl Class并设置DataTemplate