我有ItemsControl(列表框)和一些自定义复杂数据模板。用这个列表框显示窗口需要几秒钟!
我的列表框datatemplate包含图片:
<Image Stretch="Uniform"
x:Name="image"
Grid.ColumnSpan="1"
Source="{Binding ImagePath}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Width="Auto"
Grid.Column="0"
MinWidth="20"
MinHeight="20"
d:LayoutOverrides="GridBox"
Margin="1,0,1,1" />
几乎所有ImagePath都为null。我注意到这个null会产生异常,但是wpf引擎会隐藏它!我认为这是问题的根源。当我知道图像路径为空时,是否可以禁用图像加载!?
答案 0 :(得分:4)
将此DataTrigger
添加到您的DataTemplate
:
<DataTrigger Binding="{Binding ImagePath}" Value="{x:Null}">
<Setter TargetName="image" Property="Source" Value="{x:Null}"/>
</DataTrigger>
答案 1 :(得分:1)