按钮名称属性不响应.cs调用

时间:2017-07-20 11:56:45

标签: c# wpf xaml button tags

错误如下:

  

当前上下文中不存在名称“b4”

XAML:

<Button x:Name="b1" Click="MainBclick()" Tag="1" Content="Setting Names"/>
<Button x:Name="b4" Content="Setting Usages" Visibility="Collapsed"/>

C#:

private void MainBclick(object sender, RoutedEventArgs e)
{
    var y = ((Button)sender).Tag;
    int x = Convert.ToInt32(y);

    if (x == 1)
    {
        b4.Visibility = Visibility.Visible;
    }
    else { };
}

基本上,如果按下某个按钮并且其标签等于1,则更改该另一个按钮的可见性。

XAML中代码“b4”的实际位给我错误。

3 个答案:

答案 0 :(得分:1)

以下行是造成问题的原因:

 <Button x:Name="b1" Click="MainBclick()" Tag="1" Content="Setting Names"/>

您的事件处理程序方法名称

中不能包含“()”

改为使用:

<Button x:Name="b1" Click="MainBclick" Tag="1" Content="Setting Names"/>

答案 1 :(得分:1)

检查您的设计器文件是否正确生成。

答案 2 :(得分:1)

<Button x:Name="b1" Click="MainBclick" Tag="1" Content="Setting Names"/>

为我工作。只需从Click事件中删除()。