Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将弹出按钮设置为按钮_C#_Xaml_Uwp - Fatal编程技术网

C# 将弹出按钮设置为按钮

C# 将弹出按钮设置为按钮,c#,xaml,uwp,C#,Xaml,Uwp,我只是想学点东西; 特别-尝试创建弹出型按钮,将其设置为按钮,最后显示该弹出型按钮 这是我的密码: private void Button_Click(object sender, RoutedEventArgs e) { if (FirstNameBox.Text == "" || SecondNameBox.Text == "" || AvatarButton.SelectedItem == null) { var button = sender as But

我只是想学点东西; 特别-尝试创建弹出型按钮,将其设置为按钮,最后显示该弹出型按钮

这是我的密码:

private void Button_Click(object sender, RoutedEventArgs e)
{
    if (FirstNameBox.Text == "" || SecondNameBox.Text == "" || AvatarButton.SelectedItem == null)
    {
        var button = sender as Button;
        Flyout flyout = new Flyout();
        var txtblock = new TextBlock();
        txtblock.HorizontalAlignment = HorizontalAlignment.Center;
        txtblock.Text = "You haven't set something.";

        flyout.Placement = FlyoutPlacementMode.Top;
        flyout.Content = txtblock;

        FlyoutBase.SetAttachedFlyout(button, flyout);

        button.Flyout.ShowAt(button);
    }
被抛出的错误是,我的名为“button”的按钮没有任何弹出按钮,但我只是在“show”:C之前附加了它


有人知道发生了什么吗?

您的错误在这行:

button.Flyout.ShowAt(button);
试着这样写:

flyout.ShowAt(button);

您的错误在这一行:

button.Flyout.ShowAt(button);
试着这样写:

flyout.ShowAt(button);

如果我能提供任何建议的话,那就是学会用XAML来做。当您开始学习MVVM、数据绑定、命令绑定等时,您将少学一件事。另外,如果你在代码背后构建东西,它会让事情变得无限复杂。谢谢,我会按照你说的先做。但是在这个法典中;你想告诉我正确的方法吗?如果没有实际编译代码并看到所有代码都正常工作,我就无法推测它为什么不工作。它可以是任何东西。下面是一个如何在XAML中实现它的示例。正如你所看到的,按照Anthony的评论,事情就不那么复杂了。至于显示代码中的弹出按钮,而不是附加它,只需使用
flyout.ShowAt(按钮)显示它即可,应该可以用。如果我能提供任何建议,那就是学会用XAML来做。当您开始学习MVVM、数据绑定、命令绑定等时,您将少学一件事。另外,如果你在代码背后构建东西,它会让事情变得无限复杂。谢谢,我会按照你说的先做。但是在这个法典中;你想告诉我正确的方法吗?如果没有实际编译代码并看到所有代码都正常工作,我就无法推测它为什么不工作。它可以是任何东西。下面是一个如何在XAML中实现它的示例。正如你所看到的,按照Anthony的评论,事情就不那么复杂了。至于显示代码中的弹出按钮,而不是附加它,只需使用
flyout.ShowAt(按钮)显示它即可,应该可以工作。