我使自己成为TransparentButton
样式,使Button
部分按照我想要的方式运行(鼠标悬停,启用等),但我无法做到的是设置内容正确的风格。目前,我为每个按钮手动设置<Button.Content>
中的所有内容,显然需要进入Style
。我已将样式的ContentTemplate
设置为仅包含StackPanel
和Image
的{{1}}。问题是,我不知道如何在Label
标记中指定<Button ...>
的文本和Label
的来源。我认为它不得不以某种方式与TemplateBinding有关,但我一直在疯狂搜索,似乎无法找到信息。
因此,总而言之,我只想要一个一致的按钮样式,其中按钮内容只是Image
和StackPanel
的{{1}},我希望能够创建它在我的GUI中有一些简单的东西:
Image
任何提示都将不胜感激!我希望我在这里走在正确的轨道上......
答案 0 :(得分:1)
为了创建这样的自定义属性,您需要创建一个CustomControl而不是仅使用Button样式。
这很简单 - 只需创建一个自定义控件,即子类按钮,然后添加新属性(作为依赖项属性)。这将使其具有样式,但也使您能够使用您正在描述的语法强制执行这些属性始终可用(除了将<Button
更改为<local:MyButton
)。
有关详细信息,请参阅MSDN上的Control Authoring Overview。