0
我剛開始工作的地鐵應用程序,我面臨的問題是調度不更新用戶界面。我的代碼如下,請讓我知道是什麼問題?Metro UI不更新
public class Test : DependencyObject
{
public static readonly DependencyProperty CurrentItemProperty =
DependencyProperty.Register("NameOfPerson", typeof(string), typeof(Test), null);
public String NameOfPerson
{
get
{
return (string)GetValue(CurrentItemProperty);
}
set
{
runmethod(value);
}
}
public async void runmethod(String text)
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>
{
SetValue(CurrentItemProperty, text);
}
);
}
}
在主頁我有一個事件按鈕,當火災更新文本框時點擊。
private void Button_Click_2(object sender, RoutedEventArgs e)
{
Test t = new Test();
t.NameOfPerson = "Hello Umar";
}
MainPage.xaml中像這樣
<Page
x:Class="TestApplication.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestApplication"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Button Content="Button" HorizontalAlignment="Left" Margin="207,187,0,0" VerticalAlignment="Top" Height="80" Width="255" Click="Button_Click_2"/>
<TextBox x:Name="textB" Text="{Binding NameOfPerson}" HorizontalAlignment="Left" Height="80" Margin="730,187,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="307"/>
</Grid>
</Page>
謝謝。但文本框的值仍然是空的,而不是顯示hello umar。 – Umar 2013-04-24 14:40:48
如果你這樣做,在runmethod()'async'(或者'runmethod()')中沒有任何意義。 – svick 2013-04-24 16:36:18
仍然無法正常工作。只要考慮我的代碼即可顯示。這是我的應用程序的完整代碼。不要去更多的細節。簡單的是,當按鈕點擊我的UI更新。我需要這個功能。 – Umar 2013-04-24 17:25:38