在用户的界面显示.net对象的时候我们可以使用数据模板,许多wpf控件有一些属性用来添加数据模板例如:ContentControl控件的有一个ContentControlTemplate属性,可以控制Content对象的呈现;而ItemsControl有一个ItemTemplate属性,会被应用到所有的Item项,HeaderedContentControl有一个HeaderTemplate属性可以控制Header对象的呈现。
数据模板:通过把一个dataTemplate赋给其中的一个属性。可以创建一个全新的可视树。
首先假设有这样的一个类(Person)
public class Person { private string name; public string Name { get{return name;} set{name = value;} } private string photoPath; public string PhotoPath { get{return photoPath;} set{photoPath = value;} } }
<Window.Resources> <!--列表模板--> <DataTemplate x:Key="PhotoTemplate" DataType="{x:Type local:Person}"> <Grid VerticalAlignment="Center" HorizontalAlignment="Center" Margin="4,4,4,4" > <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Image Source="{Binding Photo}" Width="50" Height="50" Grid.Column="0" Grid.RowSpan="1"/> <TextBlock Text="{Binding Name}" Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> </DataTemplate> </Window.Resources>
一般情况在我们将数据模板定义在资源中。
<ListBox x:Name="ListBox_PeopleList" ItemTemplate="{StaticResource PhotoTemplate}" />
其实数据模板是很简单说白了就是,你定义了一个实体了,又想在界面中显示这个类。好的那么使用数据模板可以按照你想要的任何形式来显示你定义的实体类。。。。
</DrawingImage.Drawing>
时间: 2024-11-13 07:53:14