0
我有一個ListBox
其中包含描述一個人的對象。當物品被點擊時,這些物品僅被部分填充並且完全填充(耗時高的操作)。我想改變尚未填充的對象的樣式,以便部分填充的項目以斜體顯示。WPF。如何強制listitem重繪自己?
我做了ItemTemplate
:
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource PersonWithData}"/>
</DataTemplate>
</ListBox.ItemTemplate>
和定義的Style
:
<Style x:Key="PersonWithData" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding HasData}" Value="True">
<Setter Property="FontStyle" Value="Normal"/>
</DataTrigger>
<DataTrigger Binding="{Binding HasData}" Value="False">
<Setter Property="FontStyle" Value="Italic"/>
</DataTrigger>
</Style.Triggers>
</Style>
它的實際工作。我遇到的問題是在點擊某個項目時更新樣式。對象被填充並且應該導致樣式從斜體變爲正常。
我能做些什麼來強制ListItem
或ListBox
重繪自己並更新樣式?或者我應該在HasData屬性更改時使用某種通知?