C# 如果单选按钮放置在菜单中,则覆盖其样式
如果单选按钮放在菜单中,有没有办法替代它的默认样式? 但是如果它在窗户里,它应该看起来像以前一样。但我不会使用x:key。它应该会自动找到它。我看到两种解决方案:C# 如果单选按钮放置在菜单中,则覆盖其样式,c#,xaml,styles,C#,Xaml,Styles,如果单选按钮放在菜单中,有没有办法替代它的默认样式? 但是如果它在窗户里,它应该看起来像以前一样。但我不会使用x:key。它应该会自动找到它。我看到两种解决方案: 使用x:Key创建样式,但将其放在Menu.Resources中-这样它将只应用于菜单项 ItemsControl(菜单是一个)已调用属性。您可以根据容器类型创建自己的样式并设置样式 这很容易,如果你知道怎么做的话:) 您必须控制关键字的编写,因为我是这样编写的,而不是在VisualStudio上编写的。 使用stackpanel
这很容易,如果你知道怎么做的话:)
您必须控制关键字的编写,因为我是这样编写的,而不是在VisualStudio上编写的。
使用stackpanel覆盖菜单标准,因为我没有找到其他方法来设置资源。
这很容易,但是没有瓦里乌斯的回答,我没有找到这个。
您必须对MenuItem执行相同的操作
我发布这篇文章,因为我认为,它可能会帮助其他有同样问题的人。
我找了很久,什么也没找到。。如果我有一个项目,这是noch单选按钮,它也工作吗?还是说是撞车?最后一点是,我不能使用代码隐藏,因为它是一个ressource字典,我在menu.resources创建样式,然后它对所有人都有效,或者我创建关于菜单样式的样式,并在menu.resources调用它?我怎么称呼它?我不能在菜单样式上设置资源。解决方案1有效,如果我把它放在每个窗口上。。。但我只会把它放在我的字典里。解决方案2我不知道你是如何理解它的-你能举个例子吗?第二个链接是关于创建和设置样式选择器的。在selectstyle方法中,您可以尝试:我使用了一个controltemplate,并将其放到了他们的资源中。它工作正常:>
<style TargetType="{x:Type Menu}">
<Setter Property="Template>
<Setter.Value>
<ControlTemplate TargetType="{x:Type Menu}">
<ControlTemplate.Resources>
<Style Targettype="{x:Type Radiobutton}>
</Style>
</ControlTemplate>
<StackPanel IsItemsHost="True" Width="{TemplateBinding Width}" Height= {TemplateBinding Height} />
</Setter.Value>
</Setter>
</style>