人をListBox
説明するオブジェクトを含むがあります。このオブジェクトは部分的にのみ埋められ、アイテムがクリックされると完全に埋められます(時間のかかる操作)。まだ塗りつぶされていないオブジェクトのスタイルを変更して、部分的に塗りつぶされたアイテムが斜体で表示されるようにします。
私は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プロパティが変更されたときに何らかの通知を使用する必要がありますか?