WPF多窗口综合案例

1、App.xaml

<Application x:Class="多窗口综合案例.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <!-- StartupUri="MainWindow.xaml":入口Window设置 -->
    <Application.Resources>
         
    </Application.Resources>
</Application>
2、MainWindow.xaml

<Window x:Class="多窗口综合案例.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="主窗口" Height="350" Width="525">
    <Grid>
        <Button Content="显示InputWindow" Height="45" HorizontalAlignment="Left" Margin="55,46,0,0" Name="button1" VerticalAlignment="Top" Width="153" Click="button1_Click" />
        <Button Content="显示ShowYesNo" Height="46" HorizontalAlignment="Left" Margin="55,140,0,0" Name="button2" VerticalAlignment="Top" Width="153" Click="button2_Click" />
    </Grid>
</Window>
3、MaimWindow.xaml.cs

namespace 多窗口综合案例
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            //创建另一个Window的对象
            InputWindow inputWin = new InputWindow();
            //用这个方法打开这个新的Window
            //该方法是一个阻塞式方法,窗口打开的时候不会执行后面的代码
            //该方法返回新Window中设置的DialogResult属性值
            bool? b = inputWin.ShowDialog();
            //判断DialogResult属性值,并分别处理
            if (b == null)
            {
                MessageBox.Show("没设置?");
            }
            else if (b == true)
            {
                //可以显示新Window中设置的属性值
                MessageBox.Show("确定:"+inputWin.InputValue);
            }
            else
            {
                MessageBox.Show("取消");
            }
        }

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            //打开一个YesNo型的对话框
            MessageBoxResult result = MessageBox.Show("真的要删除?","警告",MessageBoxButton.YesNo);
            if(result == MessageBoxResult.Yes)
            {
                MessageBox.Show("删的干净点!!");
            }
            else if (result == MessageBoxResult.No)
            {
                MessageBox.Show("多亏没删!!");
            }
        }
    }
}
4、InputWindow.xaml

<Window x:Class="多窗口综合案例.InputWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="请输入值" Height="150" Width="300" ResizeMode="NoResize" 
        WindowStartupLocation="CenterScreen">
    <!-- 窗口标题文字设置:<Window>节点中,Title="关于" -->
    <!-- 窗口不允许缩放大小设置:<Window>节点中,ResizeMode="NoResize" -->
    <!-- 窗口初始显示位置设置:<Window>节点中,WindowStartupLocation="CenterScreen" -->
    <!-- 窗口初始时最大化设置:<Window>节点中,WindowState="Maximized" -->
    <Grid>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <TextBox Name="txtValue" Grid.ColumnSpan="2"></TextBox>
            <Button Name="btnOK" Content="确定" Grid.Row="1" Margin="5" Click="btnOK_Click"></Button>
            <Button Name="btnCancel" Content="取消" Grid.Row="1" Grid.Column="1" Margin="5" Click="btnCancel_Click"></Button>
        </Grid>
    </Grid>
</Window>
5、InputWindow.xaml.cs

namespace 多窗口综合案例
{
    /// <summary>
    /// InputWindow.xaml 的交互逻辑
    /// </summary>
    public partial class InputWindow : Window
    {
        //用来存放文本框输入值的属性
        public string InputValue { get; set; }

        public InputWindow()
        {
            InitializeComponent();
        }

        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            InputValue = txtValue.Text;
            /*如果窗口是用ShowDialog()方法打开的,则给DialogResult赋值会自动关闭当前窗口,
             *并且把DialogResult的值作为ShowDialog()的返回值传给调用的窗口
             */
            DialogResult = true;
        }

        private void btnCancel_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = false;
        }
    }
}





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF是一种用于开发Windows应用程序的技术框架。迅雷窗口样式是指在WPF应用程序中使用类似于迅雷软件的窗口样式。 迅雷窗口样式通常包括以下几个特点: 1. 边框和标题栏:迅雷窗口样式通常具有特殊的边框和标题栏设计,可以给用户带来独特的视觉体验。边框和标题栏可以进行自定义,例如可以设置不规则的边框样式,或者给标题栏添加自定义的图标和按钮。 2. 透明效果:迅雷窗口样式通常采用透明效果,可以显示出背后的桌面或其他窗口内容。这样可以增加应用程序的时尚感和科技感。 3. 强调视图:迅雷窗口样式通常会对某些重要的视图元素进行强调,例如下载进度、操作按钮等。这样可以提升用户对这些重要信息的注意力,使其更易于操作。 4. 动画效果:迅雷窗口样式通常会使用各种动画效果来增加交互的流畅性和美观性,例如弹出菜单、窗口缩放等。这样可以提升用户体验,使应用程序更加生动有趣。 开发WPF应用程序时,可以使用XAML语言来定义窗口样式。通过设置窗口的样式属性和使用自定义的控件模板,可以实现类似迅雷窗口样式的效果。同时,WPF还提供了丰富的视觉效果和动画功能,可以进一步增强迅雷窗口样式的效果。 总之,迅雷窗口样式是一种在WPF应用程序中使用类似于迅雷软件的窗口外观和交互效果的设计风格。通过合理运用WPF技术,可以实现这种样式,并提升用户体验和应用程序的吸引力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值