我约95%的获得我需要的方式,但仍然存在一些问题。基本上我希望所有按钮控件的默认样式(在使用Expression Blend将Button拖动到窗体时使用)的行为如下:在Expression Blend中创建一个自定义的“默认”按钮+ WPF
鼠标悬停 - 将按钮字体的着色更改为渐变,并增加字体大小比控件在其“正常”状态下分配的字体大2个点。尺寸增加非常重要,因为“按钮”没有任何边框,它们只是带有阴影的纯文本。
在点击 - 再次更改字体颜色,去除阴影,使它看起来郁闷(规模将仍然“正常”的字体大小+ 2分)
我现在的方法是给我的一些问题而且在这里发布的代码太多了,所以我希望能够得到一些有更多经验的人的替代方法的建议。
我想宁愿没有一个完全自定义的按钮控件(如“CustomButton”),并简单地覆盖常规默认的“Button”控件的外观/风格,因为它将是唯一类型的按钮应用。但是如果一个新的类/控件是唯一的方法,我会尝试一下。
Ex。
<Button Content="Button1"/>
<Button Content="Button2" FontSize="18"/>
<Button Content="Button3" FontSize="24"/>
在鼠标悬停时,字体大小应比每个按钮的分配大小大2倍。现在我正在通过在按钮的真实文本之上叠加一个TextBlock(带有几个绑定)来完成这项工作,但它还没有完成。
我开始做类似之前,但无法获得放大的按钮,仍然居中。左上角应保持在相同的坐标位置,应略微向上/左移几个像素(取决于缩放级别)。它与中心保持在同一位置时的视觉效果并不完全相同。如果我能够通过,这可能会起作用。我甚至没有看触发器,只是状态(这似乎只适用于控件),所以这是我可以玩的新东西。 – Manius 2010-12-19 07:55:38
明白了,如果你点击“使用相对值”,在混合比例下转换,它保持文本居中。比我正在走下的路更简单! – Manius 2010-12-19 07:58:57
实际上,这就是将RenderTransformOrigin属性设置为0.5,0.5是 - 使Button中心成为ScaleTransform的原点。 – gstercken 2010-12-19 08:43:55