【问题标题】:Button Design Issue按钮设计问题
【发布时间】:2014-03-09 05:03:45
【问题描述】:

在我的应用程序中,我有一个侧边栏,如下所示:

Admin 位只是一个标题

现在我将它们编码为Buttons。它们对点击或任何东西没有任何影响。我想把这些改成TabItems,这样就有了出来的效果。

我尝试过这样做,但是当我将 width 添加到 TabItem 时,效果消失了,它看起来就像 Button

如您所见,TabItem 看起来就像Button,效果已经消失。

你们有什么建议可以让我用Animation 让我看起来更好,或者我如何解决TabItem 问题?

编辑:

我已将 TabItems 更改为 Buttons,但我遇到了一个大问题。我在左侧有 10 个不同的按钮,当我单击一个时,动画会出现,它最终是这样的:

但是从图片中可以看出,当我点击下面的另一个按钮时,会发生相同的动画,但是之前点击的按钮并没有回到正常状态。

当我单击另一个按钮时,如何重置上一个单击按钮上的情节提要动画。

【问题讨论】:

  • 为什么不使用按钮,而是在其中添加动画?
  • @Killercam 从来没有使用过“Wpf 动画”的经验,这就是我尝试使用 TabItem 的原因。使用起来容易吗?

标签: wpf xaml animation button wpf-animation


【解决方案1】:

在我看来,在这种情况下使用一堆按钮更可取。在此处使用TabControl 似乎没有必要,并且会使您的事情复杂化。查看此MSDN article,了解如何做你想做的事。

我希望这会有所帮助。


编辑。解决有关形状的问题...

如果您想继承按钮的默认系统颜色/样式,您可以在按钮模板中使用 TemplateBindings。例如,如果您想创建一个与系统按钮具有相同背景颜色的自定义形状按钮

<Button>
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <Grid>
                <!-- circle to have inherited colour -->
                <Ellipse Fill="{TemplateBinding Background}" Height="50" Width="50" />
                <ContentPresenter />
            </Grid>
        </ControlTemplate>
    </Button.Template>
</Button>

然后Ellipse 将从Button 继承背景颜色,但它已设置。在动画中做到这一点会更复杂,但并非不可能......

【讨论】:

  • 感谢您的建议,我现在要通读这篇文章。使用 WPF 动画,按钮的形状可以在悬停时改变吗?
  • 是的,有可能。 WPF 几乎可以实现一切。我已经编辑了这个问题,向您展示如何静态更改形状。要在动画中执行此操作需要您阅读详细信息...
猜你喜欢
  • 2014-07-17
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
  • 1970-01-01
相关资源
最近更新 更多