DataTemplate——数据模板的一个典型例子
下面是ListBox.ItemTemplate(數據模板)應用的“典型”例子,概述如下兩點:
??? 1:Grid部分,用來“規劃” 數據 顯示的 布局(即數據長成什么樣子)
??? 2:給DataTemplate添加觸發器(即給Item添加了觸發器),因此聯想到,也可以給ControlTemplate添加觸發器。
?
<ListBox.ItemTemplate>
??????????????? <DataTemplate DataType="TwoLevelTreeNodeViewModel">
??????????????????? <--Grid部分,“規劃” 數據 以 何種 樣子 展現出來-->????????????????
??????????????????? <Grid>
??????????????????????? <Grid.Background>
??????????????????????????? <ImageBrush AlignmentX="Left" AlignmentY="Top" TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,229,42" ImageSource="/FounderAMP;component/Images/Police/SearchResult_bg.png"/>
??????????????????????? </Grid.Background>
??????????????????????? <Grid.ColumnDefinitions>
??????????????????????????? <ColumnDefinition Width="*"/>
??????????????????????????? <ColumnDefinition Width="11"/>
??????????????????????? </Grid.ColumnDefinitions>
??????????????????????? <Rectangle Name="selectedBackground" Fill="#3d7cff" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0" Grid.ColumnSpan="2" Visibility="Collapsed"/>
??????????????????????? <TextBlock Name="headerLabel" Text="{Binding Path=HeaderText}" Grid.Column="0" TextTrimming="WordEllipsis" ToolTip="{Binding Path=HeaderText}"?? HorizontalAlignment="Stretch" TextAlignment="Left" VerticalAlignment="Center" Margin="8,0,0,0" Width="200" FontFamily="Microsoft YaHei" FontSize="13" />
??????????????????????? <TextBlock Name="footerLabel" ToolTip="{Binding Path=FooterText}" TextTrimming="WordEllipsis" Text="{Binding Path=FooterText}" Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" FontFamily="Microsoft YaHei" FontSize="13" FontWeight="Bold" Margin="0,0,6,0" />
??????????????????????? <Image Source="/FounderAMP;component/Images/Police/Downward_Triangle.png" Grid.Column="1" Cursor="Hand" Visibility="{Binding Path=ExpandingVisibility}" Name="ExpandOrgNodeImage" MouseLeftButtonDown="ExpandOrgNodeImage_MouseLeftButtonDown" Tag="{Binding}"/>
??????????????????? </Grid>
??????????????????? <--給DataTemplate添加觸發器(即給Item添加了觸發器)-->
??????????????????? <DataTemplate.Triggers>
??????????????????????? <Trigger Property="IsMouseOver" Value="True"><-- 由于該DataTemplate 是為ListBox.ItemTemplate定義的,所以當鼠標懸停在“Item”上時,會“激發”該觸發器
??????????????????????????? <Setter TargetName="selectedBackground" Property="Visibility" Value="Visible"/>
??????????????????????????? <Setter TargetName="headerLabel" Property="Foreground" Value="White"/>
??????????????????????????? <Setter TargetName="footerLabel" Property="Foreground" Value="White"/>
??????????????????????????? <Setter TargetName="ExpandOrgNodeImage" Property="Source" Value="/FounderAMP;component/Images/Police/downwardTriangle_WhiteBackground.png"/>
??????????????????????? </Trigger>
??????????????????? </DataTemplate.Triggers>
???????????????????
??????????????? </DataTemplate>
??????????? </ListBox.ItemTemplate>
?
轉載于:https://www.cnblogs.com/changbaishan/p/3519871.html
總結
以上是生活随笔為你收集整理的DataTemplate——数据模板的一个典型例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]汇编语言的准备知识--给初次接触汇
- 下一篇: libxml2编译错误问题