周末充电之WPF(四).多窗口之间操作

多窗口实例:

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>

App.xaml

可以通过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();
        }
    }
时间: 2024-10-04 09:29:57

周末充电之WPF(四).多窗口之间操作的相关文章

周末充电之WPF(二 ) .实现一个Login窗口的布局

登录窗口布局:[ Grid 布局 -Grid.RowDefinitions / Grid.ColumnDefinitions] 代码如下: 1 <Window x:Class="login.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/x

周末充电之WPF(一)

追的剧已经赶上更新的速度了,突然觉得一下子就闲了.趁着这点时间,刚好学点 WPF .看到这边,好多人估计得感叹技术宅约等于单身狗,哈哈.好了,赶紧进入学习状态. 关注 WPF 或者说对它感兴趣其实多半就是为了自己对美好事物的追求.虽然这么说好像有点装(B),但确实如此.看惯了公司某个 client 端的 WinForm 界面,实在不能忍.当然, WinForm 也可以通过其他第三方组件来美化界面,比如 DevExpress .DotNetbar .这也挺好,但我总执着于总会有更好的出现.甚至能秒

周末充电之WPF(三 ) .后台动态生成控件

布局 -连连看: 代码: 1 private void Window_Loaded_1(object sender, RoutedEventArgs e) 2 { 3 4 5 //动态创建行 6 for (int i = 0; i < 10; i++) 7 { 8 //列 9 ColumnDefinition cl = new ColumnDefinition(); 10 grid.ColumnDefinitions.Add(cl); 11 12 //列 13 RowDefinition rd

WPF 自定义的窗口拖动

WPF原有的窗口样式太丑,当我们重新定义窗口时,则需要添加一些额外的功能,如拖动~ 1.在界面上对布局元素如Grid,添加委托事件: MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown" 2.委托方法中处理一下就行了: private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (e.ButtonState==Mou

委托应用①——窗口之间方法/控件调用

转载请注明地址:http://www.cnblogs.com/havedream/p/4602974.html 最近重新拿起以前的书看,发现关于委托和事件一直没有很好的理解,或者说理解了也不知道到底这个东西有什么用,今天恰好碰到了一个窗口之间方法调用的问题(至于控件的调用其实是一样的,方式一样),问题描述如下: Form1中有一个刷新方法Refreash(),Form1用dialog方式打开Form2,我需要在更改完Form2后,也就是关闭Form2的时候刷新Form1,也就是调用Form1的R

NSWindowController 多个窗口之间传递值

NSWindowController 多个窗口之间传递值 主界面一个按钮点击,出现另一个窗口,然后输入123,点OK,在主界面的编辑框内可以得到123这个值, 思路: 由于要给主界面的控件赋值,所以在第二个窗口里面设定一个同类型的变量. 然后主界面的控件 = 第二个窗口的同类型变量. 例如:主界面是 NSTextField 控件1, 那么就在子窗口里面设定这样一个变量(NSTextField a1),给值. 然后在主界面调用时,让主界面的NSTextField 控件1 =a1 这样主界面就可以得

数据库的四个范式之间的区别

1. 第一范式(1NF):属性不可拆分 或 无重复的列 这个简单,就是一个属性不允许再分成多个属性来建立列.事实上,在目前的DBMS中是不可能拆分属性的,因为他们不允许这么做. 2. 第二范式(2NF):完全函数依赖 先讲讲什么是部分函数依赖. 部分函数依赖,就是多个属性决定另一个属性,但事实上,这多个属性是有冗余的.例如,(学号,班级)->姓名,事实上,只需要学号就能决定姓名,因此班级是冗余的,应该去掉. 满足第二范式的数据库设计必须先满足第一范式. 因此第二范式的目标就是消除函数依赖关系中左

【转】WPF中的窗口的生命周期

原文地址:http://www.cnblogs.com/Jennifer/articles/1997763.html WPF中的窗口的生命周期 WPF中所有窗口的基类型都是System.Windows.Window.Window通常用于SDI窗口和对话框.Window在应用程序中除了一个设计用于托管顶级内容的控件外,就别无他物了.典型的,可以混合使用标记和代码来定义一个窗口.代码如下: 在xaml页: <Window x:Class="WPFApplication1.MainWindow&

C#中父窗口和子窗口之间控件互操作实例

本文实例讲述了C#中父窗口和子窗口之间控件互操作的方法.分享给大家供大家参考.具体分析如下: 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: 代码如下: public static yourMainWindow pCurrentWin = null