Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果单选按钮放置在菜单中,则覆盖其样式_C#_Xaml_Styles - Fatal编程技术网

C# 如果单选按钮放置在菜单中,则覆盖其样式

C# 如果单选按钮放置在菜单中,则覆盖其样式,c#,xaml,styles,C#,Xaml,Styles,如果单选按钮放在菜单中,有没有办法替代它的默认样式? 但是如果它在窗户里,它应该看起来像以前一样。但我不会使用x:key。它应该会自动找到它。我看到两种解决方案: 使用x:Key创建样式,但将其放在Menu.Resources中-这样它将只应用于菜单项 ItemsControl(菜单是一个)已调用属性。您可以根据容器类型创建自己的样式并设置样式 这很容易,如果你知道怎么做的话:) 您必须控制关键字的编写,因为我是这样编写的,而不是在VisualStudio上编写的。 使用stackpanel

如果单选按钮放在菜单中,有没有办法替代它的默认样式? 但是如果它在窗户里,它应该看起来像以前一样。但我不会使用x:key。它应该会自动找到它。

我看到两种解决方案:

  • 使用x:Key创建样式,但将其放在Menu.Resources中-这样它将只应用于菜单项

  • ItemsControl(菜单是一个)已调用属性。您可以根据容器类型创建自己的样式并设置样式


  • 这很容易,如果你知道怎么做的话:)

    
    
    您必须控制关键字的编写,因为我是这样编写的,而不是在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>