之前看到和template有关的东西就感觉十分凌乱,完全不知道应该用哪一个。
其实以目前自己的使用情况来看,完全没必要考虑ControlTemplate,这个是用来控制控件的外观的,自己几乎没用到过,即使更改了控件的外观,也都是从网上down的别人设置好的style,直接套用就行了。
真正使用的多的,或者是全部都是DataTemplate,这个是数模板,用来设置控件以什么样的格式来显示。
比如有个需求,要在一个ListBox中,以CheckBox的方式来显示每一个项:
<ListBox Name="lst">
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton Content="{Binding}"></RadioButton>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
十分简单吧?若是在MVVM模式中,需要获取radiobutton的选择状态,那么可以在对应的ViewModel对象中,设置对应的bool属性,绑定到radiobutton的IsChecked属性上。