Activate window, close window, bring window to front : Window « Windows Presentation Foundation « VB.Net






Activate window, close window, bring window to front

Activate window, close window, bring window to front
    

<Window x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:system="clr-namespace:System.Windows;assembly=PresentationFramework"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Main Window" Height="310" Width="280" Loaded="Window1_Loaded">
  <Window.Resources>
    <DataTemplate DataType="{x:Type Window}" x:Key="WindowTemplate">
      <StackPanel>
        <Rectangle Height="50" Width="50">
          <Rectangle.Fill>
            <VisualBrush Visual="{Binding}" />
          </Rectangle.Fill>
        </Rectangle>
        <TextBlock Text="{Binding Path=Title}" />
      </StackPanel>
    </DataTemplate>
  </Window.Resources>
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="100" />
      <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <ListBox x:Name="lbxWindows" ItemTemplate="{StaticResource WindowTemplate}">
      <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
          <WrapPanel />
        </ItemsPanelTemplate>
      </ListBox.ItemsPanel>
    </ListBox>

    <StackPanel Grid.Row="1">
      <CheckBox x:Name="cbxIsVisibleInTaskBar" Content="IsVisibleInTaskbar" IsChecked="{Binding ElementName=lbxWindows, Path=SelectedItem.ShowInTaskbar}"/>
      <CheckBox x:Name="cbxIsVisible" Content="IsVisible" 
      IsChecked="{Binding ElementName=lbxWindows, Path=SelectedItem.IsVisible, Mode=OneWay}" 
      Checked="CheckBox_Checked_Changed" 
        Unchecked="CheckBox_Checked_Changed"/>
      <CheckBox x:Name="cbxCanClose" Content="CanClose" IsChecked="True"/>
      <Button Content="Bring To Front" Click="btnBringToFront_Click" />
      <Button Content="Close" Click="btnClose_Click"/>
    </StackPanel>
  </Grid>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Imports System.Windows.Media

Namespace WpfApplication1
  Public Partial Class Window1
    Inherits Window
    Public Sub New()
      InitializeComponent()
    End Sub

    Private Sub Window1_Loaded(sender As Object, e As RoutedEventArgs)
      For i As Integer = 1 To 5
        Dim window As New Window()

        SetupWindow(window, "Window " & i)

        window.Show()
      Next

      RebuildWindowList()
    End Sub
    Private Sub SetupWindow(window As Window, title As String)
      AddHandler window.Closing, New CancelEventHandler(AddressOf Window_Closing)
      AddHandler window.Closed, New EventHandler(AddressOf Window_Closed)
      window.Title = title
      window.Width = 100.0
      window.Height = 100.0
      window.Content = title
    End Sub
    Private Sub RebuildWindowList()
      Dim windows As New List(Of Window)()

      For Each window As Window In Application.Current.Windows
        If window Is Me Then
          Continue For
        End If

        windows.Add(window)
      Next

      lbxWindows.ItemsSource = windows
    End Sub

    Private Sub Window_Closed(sender As Object, e As EventArgs)
      RebuildWindowList()
    End Sub

    Private Sub Window_Closing(sender As Object, e As CancelEventArgs)
      Dim w As Window = TryCast(sender, Window)

      If w Is Nothing Then
        Return
      End If

      e.Cancel = Not cbxCanClose.IsChecked = True
    End Sub

    Private Sub CheckBox_Checked_Changed(sender As Object, e As RoutedEventArgs)
      Dim window As Window = TryCast(lbxWindows.SelectedItem, Window)

      If window Is Nothing Then
        Return
      End If

      If cbxIsVisible.IsChecked = True Then
        window.Show()
      Else
        window.Hide()
      End If
    End Sub

    Private Sub btnBringToFront_Click(sender As Object, e As RoutedEventArgs)
      Dim window As Window = TryCast(lbxWindows.SelectedItem, Window)

      If window IsNot Nothing Then
        window.Activate()
      End If
    End Sub

    Private Sub btnClose_Click(sender As Object, e As RoutedEventArgs)
      Dim window As Window = TryCast(lbxWindows.SelectedItem, Window)

      If window IsNot Nothing Then
        window.Close()
      End If
    End Sub
  End Class
End Namespace

   
    
    
    
  








Related examples in the same category

1.Custom Window
2.Set window size in XAMLSet window size in XAML
3.A simple user-login XAML pageA simple user-login XAML page
4.User login screen with no layout or formattingUser login screen with no layout or formatting
5.Automatically Size the Main Application Window to Accommodate Its ContentAutomatically Size the Main Application Window to Accommodate Its Content
6.Window.CommandBindingsWindow.CommandBindings
7.Window OwnershipWindow Ownership
8.Window.DragMoveWindow.DragMove
9.Window Closing and Closed eventWindow Closing and Closed event
10.Creating the main panel and add to Window in CodeCreating the main panel and add to Window in Code
11.Change window cursorChange window cursor
12.Show window based on button nameShow window based on button name
13.Listen to Window loaded eventListen to Window loaded event
14.Create Window and add window closing event handlerCreate Window and add window closing event handler
15.Set a Default ButtonSet a Default Button
16.Non-Rectangular windowNon-Rectangular window
17.Window Preview Key EventsWindow Preview Key Events
18.Window with Menu, ToolBar, StatusBarWindow with Menu, ToolBar, StatusBar
19.Order of precedence for sizing-related properties that are implemented by Window.Order of precedence for sizing-related properties that are implemented by Window.
20.Use Window Activated and Deactivated event to control a media fileUse Window Activated and Deactivated event to control a media file
21.Transparent WindowTransparent Window
22.Animated Video WindowAnimated Video Window
23.Use WindowState to make full screen window, change resize mode to NoReSize
24.Do not handle events until Window is fully initialized.Do not handle events until Window is fully initialized.
25.Window On Mouse move eventWindow On Mouse move event
26.Window On Mouse up eventWindow On Mouse up event
27.Window mouse down eventWindow mouse down event
28.Window Preview mouse down eventWindow Preview mouse down event
29.Window mouse up eventWindow mouse up event
30.Load resource from Window ResourcesLoad resource from Window Resources
31.Launch a window with defined XAMLLaunch a window with defined XAML
32.Create a non-rectangular windowCreate a non-rectangular window
33.Close a window with Escape key pressedClose a window with Escape key pressed
34.Display window as dialogDisplay window as dialog
35.Windows Transparent BackgroundWindows Transparent Background
36.Save Window Position to RegistrySave Window Position to Registry
37.Center a Window to ScreenCenter a Window to Screen