首页 > 解决方案 > C# WPF 全局样式在代码的某些部分不起作用

问题描述

TextBlock定义了一个全局样式,但它在我的 xaml 中无法正常工作。在此示例中,第一个TextBlock样式有效,但其他样式TextBlockItemsControl块内)不起作用。为什么全局样式首先起作用TextBlock而不是其余部分?

谢谢您的帮助。

<UserControl x:Class="CalculMUResults.CalculMUResultsView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:CalculMUResults"
             mc:Ignorable="d" 
             d:DesignWidth="800">

    <UserControl.Resources>
        <Style TargetType="TextBlock">
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="FontFamily" Value="Comic Sans MS"/>
            <Setter Property="FontSize" Value="12"/>
        </Style>  
    </UserControl.Resources>
    
    <Grid Background="Gray">        
        <Grid.RowDefinitions>
            <RowDefinition Height="2*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--CalculMU Results-->
        <Grid Grid.Row="0"> 
            <!--....--> 
        </Grid>

        <!--Ref Points no valids-->
        <Grid Grid.Row="1">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <TextBlock Grid.Row="0" Text="Errors"/>
            <ItemsControl Grid.Row="1" Grid.ColumnSpan="4" ItemsSource="{Binding BeamPointNotValid}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="2*"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <TextBlock Grid.Column="0" Text="{Binding Item1}" />
                            <TextBlock Grid.Column="1" Text="{Binding Item2}" />
                        </Grid>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </Grid>

        <!--Segments-->
        <Grid Grid.Row="2">
            <!--....-->
        </Grid>
    </Grid>
</UserControl>

标签: c#wpfstyles

解决方案


推荐阅读