Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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
WPF:如何忽略为具体控件定义的样式_Wpf - Fatal编程技术网

WPF:如何忽略为具体控件定义的样式

WPF:如何忽略为具体控件定义的样式,wpf,Wpf,我有资源字典中定义的矩形类型的矩形控件样式,它也反映了菜单控件的样式 如何忽略菜单的这些设置,只保留矩形画布中的绘图目的。。。。矩形控件从代码隐藏动态添加到画布。主窗口中有dockpanel、grid、menu、textblock和canvas控件。矩形的样式也会损害保留默认样式所需的菜单的样式属性 谢谢你的建议 主窗口控件: “我的风格”资源字典的代码: 为了理解这个问题,请出示代码好吗?我通过代码示例更新了这个问题。谢谢你的帮助菜单的风格是什么-菜单样式?我知道你想在图像周围画一个矩形,而不

我有资源字典中定义的矩形类型的矩形控件样式,它也反映了菜单控件的样式

如何忽略菜单的这些设置,只保留矩形画布中的绘图目的。。。。矩形控件从代码隐藏动态添加到画布。主窗口中有dockpanel、grid、menu、textblock和canvas控件。矩形的样式也会损害保留默认样式所需的菜单的样式属性

谢谢你的建议

主窗口控件:

“我的风格”资源字典的代码:


为了理解这个问题,请出示代码好吗?我通过代码示例更新了这个问题。谢谢你的帮助菜单的风格是什么-菜单样式?我知道你想在图像周围画一个矩形,而不是马上画?嗨,我在样式资源中把它留空了,只是创建了一个节点,因为我认为这会有所帮助。但对于忽略样式名称且菜单使用默认设置的情况,矩形样式将根据矩形样式定义影响菜单的菜单项。是否有任何选项可以设置矩形UI对象的矩形样式定义,并为菜单设置默认值?是否设置矩形高度和宽度?是否要在图像上绘制矩形?
<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" LastChildFill="True">
        <Grid DockPanel.Dock="Top">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <Menu Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" Height="21" Name="menu" Style="{StaticResource ResourceKey=menuStyle}">
            <MenuItem Header="File">
                <MenuItem Header="Open image" Command="{Binding DoCommand}" CommandParameter="OpenImage"/>
                <MenuItem Header="Exit" Command="{Binding DoCommand}" CommandParameter="Exit"/>
            </MenuItem>
        </Menu>
            <RadioButton Margin="5" Grid.Row="1" Grid.Column="0" Content="Text selection" GroupName="ObjectType" IsChecked="{Binding Path=ObjectType, Mode=TwoWay, Converter={StaticResource ResourceKey=RadioButtonTypeConverter}, ConverterParameter=Text}" />
            <RadioButton Margin="5" Grid.Row="1" Grid.Column="1" Content="Picture selection" GroupName="ObjectType" IsChecked="{Binding Path=ObjectType, Mode=TwoWay, Converter={StaticResource ResourceKey=RadioButtonTypeConverter}, ConverterParameter=Picture}" />
        </Grid>
        <pt:PropertyControl DockPanel.Dock="Right" SelectedObject="{Binding SelectedObject}" MinWidth="150"/>

        <TextBlock DockPanel.Dock="Bottom" Height="100" Margin="5" Background="#FFF9F9F9">

        </TextBlock>
        <Canvas Name="canvas" MouseLeftButtonDown="Canvas_MouseLeftButtonDown" Background="White" Width="{Binding ElementName=ImgEdit, Path=Width}" Height="{Binding ElementName=ImgEdit, Path=Height}" MinWidth="300" MinHeight="100" VerticalAlignment="Top" MouseMove="canvas_MouseMove" MouseLeftButtonUp="canvas_MouseLeftButtonUp" >

            <Image x:Name="ImgEdit" Source="{Binding BackgroundImage}" HorizontalAlignment="Center" VerticalAlignment="Center" />
        </Canvas>
    </DockPanel>
<Style TargetType="{x:Type Rectangle}" >
        <Setter Property="Fill" Value="Yellow" />
        <Setter Property="Opacity" Value="0.2"/>
        <Setter Property="StrokeThickness" Value="2"/>
        <Setter Property="Stroke" Value="Red" />
    </Style>