2014-11-21 62 views
0

我有一个WPF项目,我有多个WPF窗口。WPF文本块不更新

在窗口之一,我把它叫做我窗口2有一个文本块如下:

<TextBlock Grid.Row="0" Name="motorTitle" Text="this is test" Visibility="Visible" Foreground="Red" Grid.Column="0" FontSize="20" HorizontalAlignment="Center"></TextBlock> 

在窗口2文件背后的代码,我有以下几点:

public string text = ".";  
    private void timer_Tick(object sender, EventArgs e) 
{ 
    this.motorTitle.Text = text; 
} 

在一个不同的WPF窗口我称它为MainWindow我试图通过这样更新Window2的文本

Window2.text = "my text"; 

S o,当我在调试模式下运行时,我可以看到Window2的文本变量已更改为“我的文本”,但它不会更新到显示屏上的文本块。

我做了一个尝试&赶上,但没有发现。

任何想法?

+2

显示创建并启动你的计时器代码。另外,你有没有在timer_Tick中设置一个断点来验证它是否被调用? – user469104 2014-11-21 14:17:11

+0

启动定时器的代码是这样的 public DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromMilliseconds(300); timer.Tick + = timer_Tick; timer.Start(); 是的,断点显示“文本”中的数据。 – CB4 2014-11-21 14:35:02

+0

你必须调试你的代码:定时器事件是否发生在所有?然后告诉什么是'Window2':它是一个实例吗?你确定它是相同的实例(新手通常创建'新的'实例,而不是使用正确的显示窗口之一)?另外,我会使用'x:Name'而不是'Name',不要问我[为什么](http://stackoverflow.com/q/589874/1997232)。 – Sinatr 2014-11-21 14:36:08

回答