访问原始覆盖变量

本文关键字:变量 覆盖 原始 访问 | 更新日期: 2023-09-27 18:06:51

我有WPF窗口代码,我想改变窗口标题,通常我可以做

this.Title = "Bla"

但是,如果在xaml部分的窗口代码,我有一个名为标题(Name="Title")的文本框,它覆盖了默认的窗口标题变量设置窗口的标题?我如何访问原来的窗口标题变量,而不必重命名文本框?

访问原始覆盖变量

第一个解决方案

可以使用base关键字:

base.Title = "bla";

第二方案。

你可以在Loaded事件中改变窗口标题,通过将发送者对象转换为Window

XAML:

<Window x:Class="WpfWindow.MainWindow"        
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="title" Height="350" Width="525"
        Loaded="Window_Loaded">
    <Grid>
        <TextBox Name="Title" MinWidth="100" />
    </Grid>
</Window>

后台代码:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        (sender as Window).Title = "bla";
    }
}