C# 如何设置窗口中所有标签前景为白色?

C# 如何设置窗口中所有标签前景为白色?,c#,wpf,C#,Wpf,Follow方法无效,我不想通过遍历设置颜色。如何按样式设置: Style styleLable = new System.Windows.Style(typeof(Label)); styleLable.Setters.Add(new Setter(Label.ForegroundProperty, "White")); this.Resources.Add("", styleLable); this.UpdateLayout(); 您可以尝试以下方法: <Style TargetTy

Follow方法无效,我不想通过遍历设置颜色。如何按样式设置:

Style styleLable = new System.Windows.Style(typeof(Label));
styleLable.Setters.Add(new Setter(Label.ForegroundProperty, "White"));
this.Resources.Add("", styleLable);
this.UpdateLayout();

您可以尝试以下方法:

<Style TargetType="{x:Type Label}" x:Key="LabelBase">
<Setter Property="Foreground" Value="White"/>
    <Setter Property="Template">
    <Setter.Value>

    <ControlTemplate TargetType="{x:Type Label}">
    <Grid>
    <Border x:Name="Rectangle_MouseOver"BorderThickness="1" Background="{x:Null}" CornerRadius="4" Height="Auto">
        <ContentPresenter x:Name="Content" Margin="4,0,4,0"/>
    </Border>
    </Grid>
    <ControlTemplate.Triggers>
        <Trigger/>
    </ControlTemplate.Triggers>
    </ControlTemplate>
    </Setter.Value>
</Setter>


您可以尝试以下方法:

<Style TargetType="{x:Type Label}" x:Key="LabelBase">
<Setter Property="Foreground" Value="White"/>
    <Setter Property="Template">
    <Setter.Value>

    <ControlTemplate TargetType="{x:Type Label}">
    <Grid>
    <Border x:Name="Rectangle_MouseOver"BorderThickness="1" Background="{x:Null}" CornerRadius="4" Height="Auto">
        <ContentPresenter x:Name="Content" Margin="4,0,4,0"/>
    </Border>
    </Grid>
    <ControlTemplate.Triggers>
        <Trigger/>
    </ControlTemplate.Triggers>
    </ControlTemplate>
    </Setter.Value>
</Setter>


有两种方法可以做到这一点:

我建议使用
TextBlock
而不是
Label
。这将容易得多:

<StackPanel TextBlock.Foreground="White">
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
</StackPanel>

有两种方法可以做到这一点:

我建议使用
TextBlock
而不是
Label
。这将容易得多:

<StackPanel TextBlock.Foreground="White">
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
    <TextBlock Text="Some Text" />
</StackPanel>

我也有同样的问题,然后我得到了答案。 答案是这样的

  • 将此标记添加到.xaml页面

    "<Grid Name="myGrid1">"
    

  • 我也有同样的问题,然后我得到了答案。 答案是这样的

  • 将此标记添加到.xaml页面

    "<Grid Name="myGrid1">"