在C#窗口中将StackPanel附加到网格

本文关键字:网格 StackPanel 窗口 | 更新日期: 2023-09-27 18:21:39

我正试图将StackPanel添加到此Window上的Grid,我已将Window传递给该方法。

应用程序.xaml.cs

/// <summary>
        /// Show single notifications
        /// </summary>
        /// <param name="window"></param>
        public static void showSingle(Window window)
        {
            // Find the resource, then cast it to a runtimeObject
            var runtime = (runtimeObject)Application.Current.TryFindResource("runtimeVariables");
            Style style = Application.Current.Resources["NotificationsContainer"] as Style;
            //Create container control
            StackPanel container = new StackPanel();
            container.Style = style;
            //Append to Window
            window.Container.Children.Add(container);
        }

这是窗口的XAML:

<Window x:Class="Test_Project.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Test_Project"
        mc:Ignorable="d"
        xmlns:Extensions="clr-namespace:Test_Project.Classes"
        xmlns:Controls="clr-namespace:Controls;assembly=Controls"
        Title="MainWindow" Height="609.925" Width="573" Name="Main">
    <Grid Name="Container">

然而,我得到了一个错误:

"Window"不包含"Container"的定义,并且没有扩展方法"Container"接受类型的第一个参数找不到"Window"(是否缺少using指令或装配参考?)

我觉得我做错了,有什么想法吗?

在C#窗口中将StackPanel附加到网格

public static void showSingle(Window Window)-Window是一个基类,它不包含Container的定义。您应该使用Window类(MainWindow)。