如何编辑所选列表视图项的字体属性

时间:2015-04-15 07:32:57

标签: c# wpf xaml

如何编辑代码中某些列表视图项的字体粗细?例如,我添加了两行项目,我想加粗第一行。这是我的.xaml代码:

<ListView x:Name="AInfoLv" FontFamily="Tahoma" FontSize="11" Background="{x:Null}">
  <ListView.View>
    <GridView>
      <GridViewColumn x:Name="LabelColumn" Header="Label" Width="80" DisplayMemberBinding="{Binding Label}" />
      <GridViewColumn x:Name="ValueColumn" Header="Value" Width="80" DisplayMemberBinding="{Binding Value}" />
    </GridView>
  </ListView.View>
  <ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
      <Setter Property="FontSize" Value="11"/> <Setter Property="FontFamily" Value="Tahoma"/> <Setter Property="FontWeight" Value="Normal"/>
    </Style>
  </ListView.ItemContainerStyle>
</ListView>

我添加的项目如下:

public Info()
{
    InitializeComponent();
    this.AInfoLv.Items.Add(new { Label = "A", Value = "123" });
    this.AInfoLv.Items.Add(new { Label = "B", Value = "456" });

 }

1 个答案:

答案 0 :(得分:0)

您需要为列表视图提供样式并且选择所选项目的视图。这是一个例子。您可以根据需要进一步定制活动。

    <ListView.Resources>
        <ControlTemplate x:Key="SelectedTemplate" TargetType="ListViewItem">
            <Border SnapsToDevicePixels="true" 
                    BorderBrush="{TemplateBinding BorderBrush}" 
                    BorderThickness="{TemplateBinding BorderThickness}" 
                    Background="{TemplateBinding Background}"
                    CornerRadius="5" x:Name="border">
                <ContentControl 
                    SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
                    Margin="2,2,2,2" 
                    VerticalAlignment="Stretch"
                    Content="{TemplateBinding Content}" />
            </Border>
        </ControlTemplate>
        <Style TargetType="ListViewItem">
            <Style.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="IsSelected" Value="true" />
                        <Condition Property="Selector.IsSelectionActive" Value="true" />
                    </MultiTrigger.Conditions>
                    <Setter Property="Background" Value="Pink" />
                    <Setter Property="Template" Value="{StaticResource SelectedTemplate}" />
                </MultiTrigger>
            </Style.Triggers>
        </Style>
    </ListView.Resources>
   <ListView.View>
<GridView>
  <GridViewColumn x:Name="LabelColumn" Header="Label" Width="80" DisplayMemberBinding="{Binding Label}" />
  <GridViewColumn x:Name="ValueColumn" Header="Value" Width="80" DisplayMemberBinding="{Binding Value}" />
</GridView>