为 StackPanel 及其内容创建样式

4
我希望通过使用关键字来为Stackpanels创建样式。这个样式将会在全局ResourceDictionary中,以便应用程序的任何地方都可以使用它。但是不仅要设置Stackpanel的样式,还要设置其内容。
我想要像这样使用stackpanel:
<StackPanel Style="{StaticResource GlobalStackPanelStyle}">
<Button>test</Button> <-- the button style should also be defined due to the Stackpanel style
</StackPanel>

如果所有包含的按钮都应该是绿色的,那么Resourcedictionary应该是什么样子?

2
不要这样做...这个网站充满了那些试图按照他们想要的方式使用WPF而不是它实际工作方式的人所遇到的问题。StackPanelStyle设置毫无关系,尽管你可能会有一些小的初步成功,但最终只会以泪水告终。只需按照WPF的设计初衷使用它,每个人都会更加快乐。 - Sheridan
1
@marty,我昨天已经回答过这个问题了,你为什么还要一遍又一遍地坚持问同样的问题呢? - Federico Berasategui
1
@Sheridan 我应该为每个按钮添加样式,而不是周围的面板吗? - marty bourque
1
请自己一个忙,好好学习WPF... 请查看MSDN上的样式和模板页面以获取更多帮助... MSDN应该始终是第一个“求助”的地方... 在来到StackOverflow之前要远远早于此。 - Sheridan
1
@marty,你的Ming的答案完全没有问题。我误解了你简短的问题并撤回了我的初始声明。抱歉。 - Sheridan
显示剩余3条评论
1个回答

9
你的资源字典中应该有类似这样的内容:
```

你的资源字典中应该有类似这样的内容:

```
<Style TargetType="StackPanel" x:Key="GlobalStackPanelStyle">
   <Style.Resources>
        <Style TargetType="Button">
            <Setter Property="Background" Value="Green" />
        </Style>
    </Style.Resources>
</Style>

@marty 哦,是的,我忘了那个。我现在只是凭记忆打代码,没有打开VS。 - Ming Slogar
我修改了你的答案,看起来在这里可以工作 - 谢谢。 - marty bourque
所有在 GlobalStackPanelStyle 中的 Stackpanel 按钮都是绿色的... 所以至少对我来说它有效 :) - marty bourque
@marty:太酷了!就像我说的,我没有打开IDE,所以无法测试 :) - Ming Slogar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接