我无法更改Listview项目或列标题上的字体大小

时间:2011-12-09 14:56:42

标签: wpf xaml listview styles font-size

    <ListView x:Name="lstProductionOrders">
         <ListView.View>
              <GridView>
                   <GridViewColumn Header="Production Order:"/>
                        ...

我在网格上设置了字体大小,使用textelement,我已经在listview,columnheader,样式,使用BasedOn的样式上设置了它。我甚至放入了一个全新的测试窗口,其中没有其他代码,但默认代码和listview以相同的方式创建。使用上述所有内容,字体在设计时更改,但在运行时没有。

我只有大约6个月的WPF / XAML经验,所以我可能正在寻找错误的东西。是否有某种全局设置的fontsize或任何人都可以想到的任何东西会导致这被覆盖。

对于记录,我在测试窗口中没有基类。

---------- ---------- EDIT

这是App中问题的根源。 XAML

<Style TargetType="TextBlock">
        <Setter Property="FontFamily" Value="Times New Roman"/>
        <Setter Property="FontSize" Value="20"/>
</Style>

3 个答案:

答案 0 :(得分:6)

这听起来很像你有一个GridViewColumn的隐式样式,它会覆盖你在本地所做的更改。

在设计时,不考虑隐式样式(可能由于各种原因),但在运行时它是,并且你得到了那种奇怪的行为。

我首先查看App.xaml的参考资料部分,然后向上移动直到达到我关心的控件。

添加:隐式样式:

<UserControl>
   <UserControl.Resources>
      <Style TargetType="TextBlock">
         <Setter Property="FontSize" Value="40" /> <!-- stupid value, just to make it obvious it changed something =) -->
      </Style>
   </UserControl.Resources>
</UserControl>

如果您想在本地定义隐式样式而不覆盖链上方的另一个隐式样式集,则可以执行以下操作:

<UserControl>
   <UserControl.Resources>
      <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
         <Setter Property="FontSize" Value="60" /> <!-- ridiculous value, just to make it obvious it changed something =) -->
      </Style>
   </UserControl.Resources>
</UserControl>

它将继承隐式样式并为本地UserControl添加更改。

答案 1 :(得分:4)

对我来说,以下内容适用于标题和项目:

<ListView ItemsSource="{Binding Source={StaticResource Items}}"
          TextElement.FontSize="16">
    <!-- ... -->

不知道你的情况会出现什么问题......

答案 2 :(得分:1)

如果您只想设置标题大小,请尝试此解决方案 或者使用@ H.B.溶液

<ListView x:Name="lstProductionOrders" >
    <ListView.View>
        <GridView>
            <GridViewColumn>
                <GridViewColumnHeader TextElement.FontSize="16">Production Order:/GridViewColumnHeader>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

enter image description here

希望这会有所帮助

相关问题