我有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的结构?
答案 0 :(得分:4)
使用两个属性(例如,标题和文本)创建一个UserControl,并将TextBlock绑定到Caption,将TextBox绑定到Text属性。
如果您想允许设计师创建自定义模板以便他可以完全控制UI设计,您也可以使用模板化控件。
UserControl vs. Custom/Templated Control(阅读整个帖子以获得最大收益):
用户控件和自定义控件之间的区别在于If 你有一部分视图或用户界面将重复使用 你自己的项目,使用UserControl是一个更简单和首选 方式,但如果你有一部分UI和功能,你 相信将使用aross不同的项目,然后使用自定义 控制是正确的方法。
答案 1 :(得分:2)
您可以尝试ItemsControl Class并设置DataTemplate
。