【问题标题】:Button name property not responding to .cs call按钮名称属性未响应 .cs 调用
【发布时间】:2017-07-20 11:56:44
【问题描述】:

错误如下:

名称“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”给了我错误。

【问题讨论】:

    标签: c# wpf xaml button tags


    【解决方案1】:

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

    【讨论】:

    • xaml 中可能存在一些语法问题,但不会出现编译时错误。
    • 谢谢,我要把粘贴代码复制到一个新项目中以防万一。不幸的是,我在编译时也遇到了问题。
    【解决方案2】:

    下面是导致您出现问题的原因:

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

    您的事件处理程序方法名称中不能有“()”

    改为使用:

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

    【讨论】:

    • 按照你的建议去做给了我更多的错误,但是当伴随着一个新的设计师文件时,我得到了一种享受。感谢您的调试:D
    【解决方案3】:
    <Button x:Name="b1" Click="MainBclick" Tag="1" Content="Setting Names"/>
    

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

    【讨论】:

    • 非常感谢。我遇到了很多错误,以至于一个新的设计器文件以及您建议的更改使其工作。 ^^
    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多