【问题标题】:Perform Click on button in a grid执行单击网格中的按钮
【发布时间】:2019-07-13 14:27:30
【问题描述】:

我是 UWP/XAML 的新手,但我使用 .NET 已经有一段时间了。我有一个问题如下。

我有一个显示客户页面的应用程序。我添加了一个 VariableSizedWrapGrid 并调用了一个 sub 来用按钮填充它,如下所示:

<VariableSizedWrapGrid x:Name="FirstChars" Orientation="Horizontal"/>

       // Create first button '#' with character and Click event and add to grid
        ToggleButton btn = new ToggleButton { Content = '#', Margin = new Windows.UI.Xaml.Thickness(2, 0, 0, 0), Width = 34 };
        btn.Click += FirstChars_Click;
        FirstChars.Children.Add(btn);
        // Create all alphabets buttons and Click event and add to grid
        char[] az = Enumerable.Range('A', 'Z' - 'A' + 1).Select(i => (Char)i).ToArray();
        foreach (var c in az)
        {
            btn = new ToggleButton { Content = c, Margin = new Windows.UI.Xaml.Thickness(2, 0, 0, 0), Width = 34 };
            btn.Click += FirstChars_Click;
            FirstChars.Children.Add(btn);
        }

当用户进入这个页面时,没有选择任何按钮,我想在第一个按钮“A”上执行一个点击事件,这样我就可以在我的数据库上执行适当的选择查询。

页面加载完毕后,如何选择按钮并调用相应的事件?

我猜我需要定义一个 ToggleButton 变量并从网格中选择内容为“A”的按钮。但是经过多次尝试后我无法理解如何做到这一点:(

感谢您的帮助!

【问题讨论】:

    标签: c# uwp uwp-xaml


    【解决方案1】:

    在 foreach 循环之后的构造函数中,您可以像这样订阅 Loaded 事件

    this.Loaded += OnPageLoaded;
    

    订阅上述事件后,您可以检查“A”切换按钮的加载内容,并在页面启动时加载其信息。

    private void OnPageLoaded(object sender, RoutedEventArgs e)
    {
        foreach (var item in FirstChars.Children)
        {
            if (item is ToggleButton button && button.Content.ToString().Equals("A"))
            {
                button.IsChecked = true;
                // Perform your query here or call the appropriate method
                break;
            }
        }
    }
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      应该有一些方法,比如Loaded或Initialized,你为什么不把你想从事件处理程序中运行的东西分解成一个单独的方法,然后从两个地方调用它呢?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 1970-01-01
        • 2013-02-19
        • 1970-01-01
        • 2012-12-19
        相关资源
        最近更新 更多