【问题标题】:WPF button with two sides带有两侧的 WPF 按钮
【发布时间】:2015-06-12 01:52:07
【问题描述】:

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

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

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

如何创建这样的按钮?

【问题讨论】:

    标签: c# .net wpf


    【解决方案1】:

    您所要做的就是在按钮的内容属性中添加StackPanel。在此 Stackpanel 中,您可以输入 2 TextBlock。如果您想为每一方设置自定义颜色,您可能希望将您的TextBlock 嵌入Border 块中。 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 的大小、边框的颜色、文本块的文本以及您可能想要更改的任何其他属性。

    【讨论】:

    • 这似乎是一个正确的答案。我很惊讶你可以在按钮内容中设置控件,即使我自己做过几个 WPF 项目。
    • 这就是属性被命名为“内容”而不仅仅是“文本”的原因。它只能包含一个块,这就是为什么您需要放置一个包含其余块的 StackPanel。
    【解决方案2】:

    您也可以尝试使用 Grid 作为按钮的内容并使用边框作为颜色。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 2019-06-09
      • 2012-07-09
      • 2011-02-14
      • 2013-07-01
      相关资源
      最近更新 更多