多窗口實例:
1.在多個窗口的情況下如何自定義指定要啟動的窗口程序

1 <Application x:Class="toolbar.App" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 StartupUri="MainWindow.xaml"> 5 <Application.Resources> 6 7 </Application.Resources> 8 </Application>
可以通過StartupUri="MainWindow.xaml" 修改會你要啟動的窗口名稱即可
2.固定窗口大小,禁止修改
ResizeMode="NoResize"
3.對話框彈出的時候在屏幕顯示的位置
WindowStartupLocation="CenterScreen"
4.修改窗口名稱
Title="關於"
5.窗口最大化
WindowState="Maximized"
6.給對話框傳值
其實窗口就是一個類
public partial class AboutWindow : Window
這樣我們就可以在類里定義個公共屬性用於接收值,在這之前new一個實例
把值傳給這個類里的屬性,最后在子窗口的load事件去接受
public partial class AboutWindow : Window { public string UserName { get; set; } public string Pwd { get; set; } ...
主窗口
using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace toolbar { /// <summary> /// MainWindow.xaml 的交互邏輯 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click_1(object sender, RoutedEventArgs e) { string t = tx.Text; AboutWindow aboutWin = new AboutWindow(); aboutWin.UserName = t; aboutWin.ShowDialog(); MessageBox.Show(aboutWin.Pwd); } } }
子窗口
private void Window_Loaded_1(object sender, RoutedEventArgs e) { re.Text = UserName; }
7.子窗口返回屬性
無論是子窗口向主窗口傳值還是主.向.子傳值,都是通過屬性
8.OpenFileDialog
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click_1(object sender, RoutedEventArgs e) { OpenFileDialog file = new OpenFileDialog(); //文件過濾器 file.Filter = "文本文件|*.txt|PNG圖片|*.png|視頻|*.avi"; file.ShowDialog(); } }