我正在将消息列表绑定到WPF列表框,它们是已读取和未读取的,我可以将其绑定但我希望未读消息的字体粗体为粗体,并且读取消息为轻量级。
我的代码看起来像这样
<ListBox ItemsSource="{Binding Table}" x:Name="lbMessageList" >
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel Margin="10,0,0,0" Width="460" >
<TextBlock TextWrapping="Wrap"Text="{Binding MessageSubject}">
</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我正在使用
绑定此数据List<Table> myData = new List<Table>();
myData.Add(new Table() {MessageSubject = blog.MessageSubject });
答案 0 :(得分:0)
您的MessageRead
课程中需要Table
布尔标志。将FontWeight
元素上的TextBlock
绑定到MessageRead
并使用Converter
将false
转换为Bold
和true
转换为{{ 1}} / Normal
。
答案 1 :(得分:0)
试试这个DataTemplate:
<DataTemplate >
<StackPanel Margin="10,0,0,0" Width="460" >
<TextBlock Name="txtMessageHeader" TextWrapping="Wrap" Text="{Binding MessageSubject}">
</TextBlock>
</StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding ReadStatusOfMessage}" Value="False">
<Setter TargetName="txtMessageHeader" Property="FontWeight" Value="Bold"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>