平时我们都是找布局文件里面的控件,但是有时候也会在Style样式里写布局,并在代码里更新控件,这时候我们不能直接拿到控件,下面我们先看下样式文件
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="ImageBorderStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="Height" Value ="165"/>
<Setter Property="Width" Value="292"/>
<Setter Property="Margin" Value="0,8,0,8"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border Width="292" Height="165" BorderThickness="4" BorderBrush="#CDCDCC" CornerRadius="6"
x:Name="ItemBorder">
<Image Stretch="Uniform" Width="292" Height="165" x:Name="ListItemImage">
<Image.Clip>
<RectangleGeometry RadiusX="5" RadiusY="5" Rect="0,0,284,157"/>
</Image.Clip>
</Image>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="ItemBorder" Property="BorderBrush" Value="#10AC03"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
里面有个叫ListItemImage的图片控件,我们在初始化Window时,根据文件夹里面的图片动态刷新图片列表,所以在Window初始完成后要能找到该控件。下面我们看看怎么查找控件的
Image image = (Image)listViewItem.Template.FindName("ListItemImage", listViewItem);
listViewItem是引用上面样式的控件,通过上面的代码可以找到Image控件
你学会了吗?如果你喜欢我的文章,请点赞哈!!!