双面WPF按钮

时间:2015-06-10 20:25:44

标签: c# .net wpf

我要做的是创建一个有两个标签的按钮(一个在右侧,一个在左侧。

右侧标签(和整个右侧)必须采用左侧不同的颜色(you can see a sample of button here)。

我尝试使用网格,停靠面板等创建新的自定义控件......但没有任何看起来像我想要的。所以我问你。

如何创建这样的按钮?

2 个答案:

答案 0 :(得分:2)

您所要做的就是在按钮的内容属性中添加StackPanel。在此Stackpanel中,您可以放置​​2 TextBlock。如果您想为每个方面添加自定义颜色,您可能希望在TextBlock块中使用BorderBorder块具有背景属性。

一个例子是:

    <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的大小,边框颜色,文本块文本以及您可能想要更改的任何其他属性。

答案 1 :(得分:1)

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

 <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>

XAML preview