C# 双面WPF按钮

C# 双面WPF按钮,c#,.net,wpf,C#,.net,Wpf,我想做的是创建一个按钮,它有两个标签(一个在右边,一个在左边) 右侧标签(和整个右侧)的颜色必须与左侧不同() 我试着用网格、坞面板等创建新的自定义控件,但没有什么像我想要的。所以我问你 如何创建这样一个按钮?您所要做的就是在按钮的内容属性中放置一个StackPanel。在这个StackPanel中,您可以放置2个TextBlock。如果您想为每一面放置自定义颜色,您可能需要将TextBlock插入Borderblock中。Border块具有背景属性 这方面的一个例子是: <But

我想做的是创建一个按钮,它有两个标签(一个在右边,一个在左边)

右侧标签(和整个右侧)的颜色必须与左侧不同()

我试着用网格、坞面板等创建新的自定义控件,但没有什么像我想要的。所以我问你


如何创建这样一个按钮?

您所要做的就是在按钮的内容属性中放置一个
StackPanel
。在这个StackPanel中,您可以放置2个
TextBlock
。如果您想为每一面放置自定义颜色,您可能需要将
TextBlock
插入
Border
block中。
Border
块具有背景属性

这方面的一个例子是:

    <Button Height="20" Width="50">
        <StackPanel Orientation="Horizontal">
            <Border Background="Yellow">
                <TextBlock Text="Test"/>
            </Border>
            <Border Background="Green">
                <TextBlock Text="Test2"/>
            </Border>
        </StackPanel>
    </Button>


然后,您可以使用StackPanel的大小、边框的颜色、textblock的文本以及您可能想要更改的任何其他属性。

您还可以尝试使用网格作为按钮的内容,并使用边框作为颜色

 <Button x:Name="MyButton" Padding="10px"
            Width="200" Height="75" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="7*" />
                    <ColumnDefinition Width="3*" />
                </Grid.ColumnDefinitions>
                <Border BorderBrush="Black" BorderThickness="2" Grid.Column="0" Background="White">
                    <TextBlock Text="Some Text"   VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </Border>
                <Border BorderBrush="Black" BorderThickness="2" Grid.Column="1" Background="red">
                    <TextBlock Text="text2"  VerticalAlignment="Center" HorizontalAlignment="Center" />
                </Border>

            </Grid>
        </Button>


这似乎是一个正确的答案。我很惊讶你可以在按钮内容中设置控件,即使我自己也做了一些WPF项目。这就是为什么属性名为“内容”,而不仅仅是“文本”。它只能包含一个块,所以你需要放置一个包含其余部分的StackPanel。