需求:
我实现一个批量图片拷贝的函数时,希望是在page的下方能够实现一个statusbar来显示当前拷贝的文件的名称
为了以后能用在别的地方,我单独实现了一个 StatusBarControl的控件
这个控件主要由一个TextBlock组成,我企图通过设置他的Text属性来更新显示的消息。
问题来了:
我在拷贝文件的循环里面(从系统medialib拷贝到isolatedStorage里面) 在拷贝之前,调用statusbar.ShowMessage(message), 可是这不能导致负责现实消息的TextBlock得到刷新, message根本显示不出来。 不管是否进行了拷贝,都显示不出来。
可能我对c#绘图的机制不了解,开始想找些强制刷新TextBlock的方法,可是没有,后来什么依赖属性都用上了还是不行,还是请高手给参谋一下
为了避免混乱我把主要代码贴再后面。
// 下面是 StatusBar xaml主要内容
<Grid x:Name= "LayoutRoot ">
<Grid.ColumnDefinitions>
<ColumnDefinition Width= "* " />
</Grid.ColumnDefinitions>
<Border Name= "frameBorder "
BorderThickness= "1 "
BorderBrush= "{StaticResource PhoneAccentBrush} "
HorizontalAlignment= "Stretch ">
<TextBlock Name= "messageTextBlock " />
</Border>
</Grid >
//下面是 StatusBar code-behinded 主要内容
public partial class StatusBarControl : UserControl
{
private DispatcherTimer clearTimer;
public Thickness FrameBorderThickness
{
... //省略
}
public double MessageFontSize
{
... //省略
}
public StatusBarControl()
{
clearTimer = new DispatcherTimer();
InitializeComponent();
}