将名称添加到特定的样式控件wpf

问题描述 投票:0回答:1

我有一个自定义上下文菜单:

<Window.Resources>
    <ContextMenu  x:Key="RowMenu" DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}">
        <ContextMenu.Style>
            <Style TargetType="ContextMenu">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid Background="Transparent">
                                <Border Background="#1c1c1c" Height="70" Width="170" CornerRadius="10">
                                    <StackPanel Orientation="Vertical">
                                        <Button x:Name="openinBrowser" Click="Button_Click_1">
                                            <Grid Width="170">
                                                <materialDesign:PackIcon Kind="OpenInApp" VerticalAlignment="Center" Foreground="{StaticResource PrimaryHueMidBrush}" HorizontalAlignment="Left"/>
                                                <Label FontFamily="Champagne &amp; Limousines" Content="Action 1" FontSize="7" HorizontalAlignment="Center" Foreground="LightGray" VerticalAlignment="Center"/>
                                            </Grid>
                                            <Button.Style>
                                                <Style BasedOn="{StaticResource MaterialDesignRaisedAccentButton}" TargetType="Button">
                                                    <Setter Property="Background" Value="Transparent"/>
                                                    <Setter Property="BorderBrush" Value="{StaticResource PrimaryHueMidBrush}"/>
                                                    <Setter Property="BorderThickness" Value="0"/>
                                                </Style>
                                            </Button.Style>
                                        </Button>
                                    </StackPanel>
                                </Border>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </ContextMenu.Style>
    </ContextMenu>

</Window.Resources>

我将如何为Button添加一个名称,以便可以在我的c#中启用和禁用它(不使用绑定),我尝试将x:Name=""放进去,但是它不起作用,但是如果我添加按钮单击它有效吗?我很困惑,任何帮助将不胜感激!

wpf contextmenu styling
1个回答
1
投票
我仍然说您应该使用数据绑定来正确地执行此操作,但是如果您坚持...有两种不同的方法可以解决此问题。
© www.soinside.com 2019 - 2024. All rights reserved.