Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问原始重写变量_C#_Wpf_Xaml - Fatal编程技术网

C# 访问原始重写变量

C# 访问原始重写变量,c#,wpf,xaml,C#,Wpf,Xaml,我有WPF窗口代码,我想更改窗口标题,通常我可以这样做 this.Title = "Bla" 但是,如果在窗口代码的xaml部分,我有一个名为Title(Name=“Title”)的文本框,它覆盖了设置窗口标题的默认窗口标题变量,该怎么办?如何访问原始窗口标题变量而不必重命名文本框?第一种解决方案 您可以使用base关键字: base.Title = "bla"; 第二个解决方案 通过将发送者对象强制转换为窗口,可以在加载的事件中更改窗口标题 XAML: 你为什么要这么做?只需将您的文本框重

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

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

第一种解决方案

您可以使用
base
关键字:

base.Title = "bla";
第二个解决方案

通过将发送者对象强制转换为
窗口
,可以在
加载的
事件中更改窗口标题

XAML:


你为什么要这么做?只需将您的文本框重命名为“txtTitle”,我希望您在尝试调用
文本框时会出现错误,因为它会引入命名冲突。如果这样做会带来伤害,那么解决办法就是不要这样做。
<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";
    }
}