WPF按钮单击事件

时间:2014-01-26 13:23:51

标签: c# wpf button click

我正在制作我的第一个WPF窗口。我在其上放置了一个网格,并将网格划分为行和列,如果调整窗口大小,则会自动调整大小。有两个按钮可以填充网格的两个单元格。按钮内容分别设置为“OK”和“EXIT”。我有点难以理解的是,为什么这些按钮仅在我点击文本时才起作用,但如果我点击文本周围的区域并且仍在相应的按钮内,则不会做出反应。有没有办法让它可以点击按钮上的任何地方,它会按下(即使我点击文本很远的地方)?任何帮助将不胜感激,谢谢!

<Window x:Class="INL.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Please enter your details" Height="350" Width="350" MinWidth="350" MinHeight="350" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" WindowStyle="ToolWindow" Background="White">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="4*"/>
        <ColumnDefinition Width="1*"/>                    
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="3*"/>
        <RowDefinition Height="3*"/>
    </Grid.RowDefinitions>
    <Label Grid.Column="0" Grid.Row="0"  Grid.ColumnSpan="2" Content="Name:"> </Label>
    <Label Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2"  Content="Last name:"></Label>
    <Label Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="2" Content="ID:"></Label>
    <Label Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="2" Content="Result:"></Label>
    <TextBox x:Name="TextBoxNamn" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2"></TextBox>
    <TextBox x:Name="TextBoxEfternamn" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2"></TextBox>
    <TextBox x:Name="TextBoxPersonnummer" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="2"></TextBox>
    <TextBox x:Name="TextBoxResultat" Grid.Column="0" Grid.Row="7" Grid.RowSpan="2" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" IsReadOnly="True" IsReadOnlyCaretVisible="True" />
    <Button x:Name="ButtonOK" Grid.Column="1" Grid.Row="7" Content="OK" IsDefault="True" Background="{x:Null}" Click="ButtonOK_Click" ClickMode="Press"></Button>
    <Button x:Name="ButtonExit" Grid.Column="1" Grid.Row="8" IsCancel="True" Content="EXIT" Background="{x:Null}" Click="ButtonExit_Click" ClickMode="Press"></Button>


</Grid>

1 个答案:

答案 0 :(得分:5)

不将背景设置为{x:Null},而是将其设置为Transparent

将背景设置为{x:Null}会使周围区域无法点击。 空背景不响应鼠标事件。

有关详细信息,请参阅此处 - {x:Null} Vs. Transparent