Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Application.Windows-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft die instanziierten Fenster in einer Anwendung ab.

Namespace:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

public WindowCollection Windows { get; }

Eigenschaftswert

Type: System.Windows.WindowCollection

Ein WindowCollection enthält Verweise auf alle Fensterobjekte in der aktuellen AppDomain.

Ein Window Verweis wird automatisch hinzugefügt, um Windows als ein Fenster instanziiert wird der Benutzeroberfläche (User Interface, UI) Thread; Windows durch die erstellte Worker Threads werden nicht hinzugefügt. Ein Window Verweis wird automatisch entfernt, nachdem die Closing -Ereignis behandelt wurde und vor seiner Closed -Ereignis wird ausgelöst.

Standardmäßig das erste Element hinzugefügt, um die Windows -Eigenschaft wird der MainWindow.

Diese Eigenschaft steht nur in dem Thread, der erstellt die Application Objekt.

Im folgenden Beispiel wird veranschaulicht, wie zum Aufzählen der Windows Eigenschaft, um ein Windows-Menü der obersten Ebene, zu erstellen, die für Schnittstelle für mehrere Dokumente (Multiple-Document Interfacce, MDI) Anwendungen wie Microsoft Excel, oder mehreren Instanzen einzelnen Document Interface (SDI)-Anwendungen wie Microsoft Word.

using System;
using System.Windows;
using System.Windows.Controls;

namespace CSharp
{
    // Custom menu item that stores a reference to a window
    public class WindowMenuItem : MenuItem
    {
        public Window Window = null;
    }
}
<Window x:Class="CSharp.MainWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="CSharp" Height="300" Width="300" Activated="MainWindow_Activated"
    >
  <StackPanel>
    <Menu>
      <MenuItem Header="_File">
        <MenuItem Name="newWindowMenuItem" Click="newWindowMenuItem_Click" Header="_New Window"></MenuItem>
        <Separator></Separator>
        <MenuItem Name="exitMenuItem" Click="exitMenuItem_Click" Header="E_xit"></MenuItem>
      </MenuItem>
      <MenuItem Name="windowMenuItem" Header="_Window">
      </MenuItem>
    </Menu>
    <Canvas></Canvas>
  </StackPanel>
</Window>
using System;
using System.Windows;
using System.Windows.Controls;

namespace CSharp
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        void MainWindow_Activated(object sender, EventArgs e)
        {
            this.windowMenuItem.Items.Clear();
            int windowCount = 0;
            foreach (Window window in Application.Current.Windows)
            {
                ++windowCount;
                WindowMenuItem menuItem = new WindowMenuItem();
                menuItem.Window = window;
                menuItem.Header = "_" + windowCount.ToString() + " Window " + windowCount.ToString();
                menuItem.Click += new RoutedEventHandler(menuItem_Click);
                this.windowMenuItem.Items.Add(menuItem);
            }
        }

        void menuItem_Click(object sender, RoutedEventArgs e)
        {
            WindowMenuItem menuItem = (WindowMenuItem)sender;
            menuItem.Window.Activate();
        }
    }
}

.NET Framework
Verfügbar seit 3.0
Silverlight
Verfügbar seit 5.0
Zurück zum Anfang
Anzeigen: