2014-11-21 65 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

回答