ControlTemplate主要有两大用武之地:
1. 通过更换ControlTemplate改变控件外观,使之具有更优的用户体验及外观。
2. 借助ControlTemplate,程序员与设计师可以并行工作,程序员可以先用WPF标准控件进行编程,等设计师的工作完成后,只需把新的ControlTemplate应用到程序中就可以了。
ListBox中的条目都是自上而下排列的,如果想改成横向,这时候调整ListBox的ItemsPanel属性就可以了。
未经过调整的ListBox,条目纵向
<Grid Margin="6">
<ListBox>
<TextBlock Text="Allan" />
<TextBlock Text="Kevin" />
<TextBlock Text="Drew" />
<TextBlock Text="Timothy" />
</ListBox>
</Grid>
更改后代码如下:
<Grid Margin="6">
<ListBox>
<!--ItemsPanel-->
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<TextBlock Text="Allan" />
<TextBlock Text="Kevin" />
<TextBlock Text="Drew" />
<TextBlock Text="Timothy" />
</ListBox>
</Grid>
效果如下: