WPF:用主窗口生成了一个窗口,怎么在新窗口控制主窗口的textblock显示文字?

WPF:用主窗口生成了一个窗口,怎么在新窗口控制主窗口的textblock显示文字?,第1张

给新窗口定义事件。

这里由于字数限制,两个窗口我都用同一个类了。

<Window x:Class="WpfApplication1.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

        xmlns:local="clr-namespace:WpfApplication1"

        mc:Ignorable="d"

        title="MainWindow" Height="350" Width="525">

    <Grid>

        <TextBlock x:Name="label" VerticalAlignment="Top" Text="Hello!" Margin="10,99,10,0" />

        <TextBox x:Name="txtInput" VerticalAlignment="Center" Text="Hello!" HorizontalAlignment="Left" Height="20" Width="456"/>

        <Button Content="点我" HorizontalAlignment="Left" VerticalAlignment="Top" Click="Button_Click"/>

        <Button Content="修改" HorizontalAlignment="Right" VerticalAlignment="Top" Click="Button_Click_1" Margin="0,154,10,0"/>

    </Grid>

</Window> using System

using System.Windows

namespace WpfApplication1

{

    /// <summary>

    /// Interaction logic for MainWindow.xaml

    /// </summary>

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent()

        }

        /// <summary>

        /// 处理文本变化时间的委托

        /// </summary>

        public delegate void TextChangedHandler(object sender, TextChangedArgs e)

        /// <summary>

        /// 用来记录变化的文本

        /// </summary>

        public class TextChangedArgs : EventArgs

        {

            public string Text { get set }

            public TextChangedArgs(string text)

            {

                Text = text

            }

        }

        /// <summary>

        /// 文本变化事件

        /// </summary>

        public event TextChangedHandler TextChanged

        private void Button_Click(object sender, RoutedEventArgs e)

        {

            MainWindow mw = new MainWindow()

            mw.TextChanged += Mw_TextChanged

            mw.Show()

        }

        /// <summary>

        /// 处理TextChanged事件

        /// </summary>

        private void Mw_TextChanged(object sender, TextChangedArgs e)

        {

            this.label.Text = e.Text

        }

        private void Button_Click_1(object sender, RoutedEventArgs e)

        {

            if (TextChanged != null)

            {

                //引发事件,txtInput.Text 可以改成任意字符串

                TextChanged.Invoke(this, new TextChangedArgs(txtInput.Text))

            }

        }

    }

}

方法/步骤

1

打开vs2013,选择新建项目。也可以在文件选项中选择添加项目。

2

项目类型选项visual C#中的WPF应用程序。名字自己随意起,存放位置任意。点击完成。

3

点击完成后初始化是这个样子的,界面需要加载,时间根据电脑配置不同而不同。我们可以先熟悉界面各个部分的功能。

4

加载好之后会有一个窗口界面。比如文本框,按钮等等几乎所有控件都可以在工具箱中直接拖过来,直接可以使用。也可以在xaml界面框中自己编写,如果你熟悉html语言的话会上手很快的。

不会写xaml语言也没有关系,可以不使用。

5

拖好控件之后先布置界面。比如调整控件大小,位置,颜色,文本等等。

完成之后一定要记得为每个空间写名字,命名风格随意,怎么好记怎么来命名。

一定要有规律,以后方便编写代码。

6

界面设置好后就可以写代码,为程序添加功能。

界面只是躯壳,代码是灵魂。

如果你最喜欢布置界面,而编写代码困难建议向前端工程师发展。

7

在属性的旁边点击闪电符号,为控件添加事件。比如点击按钮,松开按钮等等很多事件。我们这里双击按钮控件,跳转到代码界面,编写程序。这里以简单的整数类型为例,为了更加实用可以使用double类型的,只要会转化就行了。

8

编写完之后就可以运行程序了。

快捷键ctrl+F5。至此,一个简单的小学生计算器就大功告成了。

http://jingyan.baidu.com/article/d45ad148b1f7a869542b807e.html?st=2&os=0&bd_page_type=1&net_type=2

如果WPF窗口中的字体不显示,可能是由于以下几个原因:

1. 字体文件缺失:某些字体文件可能会缺失,导致WPF窗口中的字体无法正常显示。

2. 字体设置错误:可能是字体设置出现错误,导致WPF窗口中的字体无法正常显示。

3. *** 作系统版本不兼容:如果 *** 作系统版本不兼容,可能会导致WPF窗口中的字体无法正常显示。

4. 显卡驱动不兼容:如果显卡驱动不兼容,可能会导致WPF窗口中的字体无法正常显示。

5. 缓存问题:可能是缓存出现问题,导致WPF窗口中的字体无法正常显示。

6. 其他原因:也可能是由于其他原因导致WPF窗口中的字体无法正常显示。

要解决这个问题,可以尝试检查字体文件、检查字体设置、更新 *** 作系统版本、更新显卡驱动、清理缓存等 *** 作,以确保WPF窗口中的字体能够正常显示。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11780414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存