代码之家  ›  专栏  ›  技术社区  ›  Hammerite

为什么我的单行按钮和多行按钮都被禁用时看起来不一样?

  •  0
  • Hammerite  · 技术社区  · 6 年前

    <Window x:Class="MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Button Grid.Column="0" Content="Single line" IsEnabled="False" />
            <Button Grid.Column="1" IsEnabled="False">
                <StackPanel>
                    <TextBlock HorizontalAlignment="Center">Double</TextBlock>
                    <TextBlock HorizontalAlignment="Center">Line</TextBlock>
                </StackPanel>
            </Button>
        </Grid>
    </Window>
    

    以下是我运行程序时在计算机上的显示:

    enter image description here

    为什么一个按钮上的文本与另一个按钮上的文本不同?在单行按钮上,文本是一个更褪色的颜色。我希望两个按钮上的文本看起来一样。

    另外:

    • 我只想在XAML中完成这项工作。

    • &#xa; 在本文中不是一个可行的解决方案,因为它会导致这种效果。)

    1 回复  |  直到 6 年前
        1
  •  1
  •   Hammerite    6 年前

        2
  •  0
  •   Denis Schaf    6 年前

    这是一个回应,所以我可以添加一张图片给你。

    您需要检查是否在任何地方定义了可能导致此行为的任何样式(在运行时看起来是一样的)

    enter image description here

    更新:

    <Button Grid.Column="1" IsEnabled="False">
        <TextBlock HorizontalAlignment="Center">
            <Run>Double</Run>
            <LineBreak/>
            <Run>Line</Run>
        </TextBlock>
    </Button>
    
        3
  •  0
  •   Andy    6 年前

    你所得到的(也)给出了我在win10上使用vs2017的预期结果。

        <Button Grid.Column="0" Content="Single line" IsEnabled="False" />
        <Button Grid.Column="1" IsEnabled="False">
            <TextBlock Style="{x:Null}" TextAlignment="Center">Double<LineBreak/>Line</TextBlock>
        </Button>
    

    该标记还将textblock上的任何样式设置为null。 听起来没什么用,但我不明白你的解决方案是怎么回事。