首先,我是XAML / C#的新手(我是iOS / Android程序员)所以请耐心而不是立即投票。我的应用程序有一些包含按钮的GridView。很多这些按钮都很相似,我想重构一下。为简单起见,假设我的按钮只是具有给定颜色的矩形。此颜色可能来自定义GridView中特定项的Item类,也可能是硬编码的。我希望矩形在悬停和按下状态时改变颜色。我希望这些颜色也是参数。
实现这一目标的最佳方法是什么?
有人可以给我一个小例子吗?
由于
答案 0 :(得分:4)
您可以使用样式模板执行此操作。
在Visual Studio设计器中,右键单击按钮,然后选择Edit Template
,然后选择Edit a Copy...
。
然后系统会提示您命名新样式以及存储它的文件。现在,只需给它一个唯一的名称,例如MyButtonStyle
,然后选择当前文件。
然后,Visual Studio将该样式的副本添加到当前的xaml文档中,并将更新您的按钮以使用新样式。
<Button x:Name="Download" Style="{StaticResource MyButtonStyle}"></Button>
在此之后,您可以更新新样式,包括更改不同视觉状态的颜色,例如悬停或点击。
然后,您可以继续在同一文档的其他按钮中使用新样式。要在多个xaml文档中使用该样式,您必须将其拉出到公共资源文件中。
答案 1 :(得分:0)
因此,您希望使用自定义属性调整按钮。这是使用自定义控件的好时机。您可以创建所需的任何依赖项属性,并在代码中调整布局。 http://timheuer.com/blog/archive/2012/03/07/creating-custom-controls-for-metro-style-apps.aspx