我在TabContorol中有一个绑定到数据库的列表框,加载需要一些时间。我希望在TabItem和listbox加载之前显示预加载图像或模板,并且在加载完成后,预加载图像为diasapear。帮帮我PLZ
答案 0 :(得分:2)
我会在ListBox.Style
中使用Trigger,如果ItemSource为null,我会使用Loading Image而不是常规ListBox模板重写ListBox.Template
。
以下是一个例子:
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Property="{Binding MyList}" Value="{x:Null}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBox}">
<Image Source="loadingImage.gif" />
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
我没有通过编译器运行它,所以我可能会有一些语法错误,但它应该指向正确的方向。