什么可能隐藏在XAML网格中的按钮?

时间:2014-05-28 16:20:38

标签: c# wpf xaml

我有一个在页面内其他位置工作的按钮。如果我将它添加到特定网格,它会显示但不可点击。这是我的全部标记:

<Grid Style="{StaticResource NogMasterPageGridStyle}">
    <Grid.RowDefinitions>
        <RowDefinition Height="140"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <!-- Page title -->
    <Grid Grid.Row="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="120"/>
            <ColumnDefinition Width="300"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="15"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="20"/>
            <RowDefinition Height="100"/>
            <RowDefinition Height="20"/>
        </Grid.RowDefinitions>
        // THIS BUTTON SHOULD BE CLICKABLE, AND IS ELSEWHERE
        <Button IsHitTestVisible="True" Grid.Column="0" Grid.Row="1" Canvas.ZIndex="9999" Content="Go Back" Style="{StaticResource NogButton}" 
                            Click="Click_GoBack"/>
        <StackPanel Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" Orientation="Vertical" Margin="40,0,0,0">
            <Image Style="{StaticResource NogLogoImage}" VerticalAlignment="Center"></Image>
            <TextBlock Text="NOG"  Style="{StaticResource NogPageTitle}"  
                    IsHitTestVisible="false" TextWrapping="NoWrap" Margin="2,-35,0,0" HorizontalAlignment="Center"/>
        </StackPanel>
    </Grid>

什么可能导致按钮在此特定网格中无法点击?

编辑:我尝试禁用网格的样式,但是没有用。这是以下情况:

<Style x:Key="NogButton"
       TargetType="Button">
    <Setter Property="Foreground" Value="{StaticResource ColorBrushWhite}"/>
    <Setter Property="Background" Value="{StaticResource ColorBrushGreen}"/>
    <Setter Property="FontSize" Value="18"/>
</Style>
<ImageBrush x:Key="BackgroundNog" 
            ImageSource="ms-appx:///Assets/WhiteBackgroundAndPen.jpg" 
            Stretch="UniformToFill" />

<Style x:Key="NogMasterPageGridStyle"
       BasedOn="{StaticResource LayoutRootStyle}"
       TargetType="Panel">
    <Setter Property="Background" Value="{StaticResource BackgroundNog}" />
</Style>

2 个答案:

答案 0 :(得分:0)

我建议您使用Snoop解决此问题,这是一个很棒的应用程序,可以让您查看wpf应用程序的所有层,还可以查看数据上下文,并且可以更改属性值。希望它有所帮助

答案 1 :(得分:0)

您是否在Button的父链中的某些祖先上将IsHitTestVisible设置为False?这可能是原因。

来自MSDN

  

...如果元素是未被命中测试的元素的子元素,则子元素的有效值将保持为false,即使尝试在本地设置该值也是如此。