在 XAML 中创建按钮

Posted

技术标签:

【中文标题】在 XAML 中创建按钮【英文标题】:Creation of Button in XAML 【发布时间】:2017-01-05 17:09:02 【问题描述】:

我想创建一个按钮,在底部有图像和标签作为内容,在右上角有通知图像,就像在 WhatsApp 中一样,只要有通知。

我可以使用通知逻辑,但无法正确显示图像,如图所示。

我尝试使用画布和网格但无法做到这一点。任何帮助将不胜感激。我也尝试使用停靠面板和堆栈面板但无法实现相同的效果。

<Button Name="JobViewer" Tag="JobsIcon" Style="DynamicResource ButtonAppStyle" Margin="5" Click="UpdateAction" ToolTip="Binding RelativeSource=RelativeSource Self , Path=Name"  >
<Button.Content>
  <DockPanel>
    <Image DockPanel.ZIndex="2"  Source="StaticResource ContainerZoomWarningLightIcon" DockPanel.Dock="Top" MaxHeight="40" MaxWidth="40" HorizontalAlignment="Right" ></Image>
    <Label Content="JobViewer" DockPanel.Dock="Bottom"></Label>
    <Image DockPanel.ZIndex="1"  Source="StaticResource JobsIcon"   ></Image>

  </DockPanel>
 </Button.Content>
</Button>

我得到的图像

我想要的图片

【问题讨论】:

我们可以帮助您指出代码示例的问题所在。你试过什么?分享一些代码会更高效 也许使用 StackPanel 来包含您的固定元素(绿色电话和 ex 的标签)。然后是另一个图像在其上方(或堆栈上方),您可以在其中手动绘制图像并在其中写入文本(通知计数)或者可能准备 11 个图像(1、2、3、.. 10, 10+) 并根据通知的数量显示其中一个。 你能放一张你现在得到的结果的图片吗,我的意思是错误的 ***.com/questions/5450985 这可以帮助你,它建议画布方式 【参考方案1】:

您可以指定&lt;Button&gt; 内容来给自己想要的布局。

<Button Width="70" Height="70" Background="Transparent">
  <Button.Content>
    <Canvas Background="Black">
      <Border CornerRadius="8" Height="50" Width="50" Canvas.Left="-25" Canvas.Top="-25"
          BorderThickness="0" BorderBrush="Black" Background="#FF47B137">
        <Border.Effect>
          <DropShadowEffect BlurRadius="3" Opacity=".6" ShadowDepth="2" />
        </Border.Effect>
      </Border>
      <Border CornerRadius="20" Width="20" Height="20" Canvas.Left="10" Canvas.Top="-30"
          BorderBrush="White" BorderThickness="2" Background="#FFE40814">
        <Border.Effect>
          <DropShadowEffect BlurRadius="3" Opacity=".6" ShadowDepth="2" />
        </Border.Effect>
      </Border>
    </Canvas>
  </Button.Content>
</Button>

【讨论】:

以上是关于在 XAML 中创建按钮的主要内容,如果未能解决你的问题,请参考以下文章

使按钮在 DataGrid 中可见

在 Xcode 中创建按钮

如何在android中创建链接按钮

在java中创建按钮

如何在 MFC 中创建圆角矩形按钮

如何在 iOS 的 xamarin 表单中创建渐变按钮背景