在我们使用WPF设计前台界面时,经常会重写数据模板,或者把控件放到数据模板里。但是一旦将控件放到数据模板中,在后台就没有办法通过控件的名字来获取它了,更没办法对它进行操作(例如,隐藏,改变控件的某个值)。
如果你是比我还白的小白,对我刚刚陈述的东西不清楚,接下来我简单说一下什么是把控件放在数据模板中,怎么样的情况没法后台通过名字来获取控件,如果读者对于数据模板这些事儿已经清楚了,或者只关心如何使用可视化树可以将这部分跳过哈。
先上代码介绍一下什么是数据模板以WPF中ListBox控件为例:
<ListBox HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" MouseDoubleClick="ListBox_1_OnMouseDoubleClick">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="666"></Button>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>