【发布时间】:2016-03-09 11:18:41
【问题描述】:
TextWrapping 属性在此代码中设置为 Wrap
<ListView Name="answerListView" ItemsSource="{Binding Path=answers}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<Expander Cursor="Hand">
<Expander.Header>
<TextBlock Text="{Binding Path=Body_Markdown}" TextWrapping="Wrap"/>
</Expander.Header>
</Expander>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
但是,现在我在TextBlock 中添加了条件格式,即如果answer 被接受,则将其显示为绿色。所以我使用的代码是这样的:
<ListView Name="answerListView" ItemsSource="{Binding Path=answers}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<Expander Cursor="Hand">
<Expander.Header>
<TextBlock Text="{Binding Path=Body_Markdown}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=is_accepted}" Value="true">
<Setter Property="Foreground" Value="Green"/>
<Setter Property="TextWrapping" Value="Wrap"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Expander.Header>
</Expander>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这里,第二行设置,即Foreground属性不起作用。即使我在<Style TargetType> 或TextWrapping="Wrap" 在TextBlock 之后有相同的行,那么它也不起作用。
【问题讨论】:
-
你能给我们看看 ViewModel 吗?
标签: wpf xaml conditional textblock dynamic-binding