Windows应用商店应用:ScrollViewer延迟数据绑定?

时间:2013-12-24 12:57:05

标签: c# windows-8 windows-store-apps winrt-xaml

我有一个 LayoutAwarePage ,其布局是 ScrollViewer ,它包含了一些控件(文本框,文本块,...),这些控件绑定到属性中视图模型。

我的问题是,当我在页面的 LoadState 事件中加载一些保存值(保存的文本框值等)时,值会被正确检索但不会显示在控件中,像这样

    protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
    {
    if(pageState!=null)
    {
    if(pageState.ContainsKey(STATE_TEXT))
    {
//set the text of the text box
    txtUserName.Text=pageState[STATE_TEXT].ToString();
    }
    }
    }

当我执行上述操作时,文本框文本为空白。

但是,我发现当我删除滚动查看器时,它可以正常工作。

此外,如果我将文本设置为txtUserName为scrollviewer的Loaded事件中的任何值,则文本通常会显示在文本框中。

这里有什么不妥?

1 个答案:

答案 0 :(得分:0)

如果您使用DataContext来分配属性,那么这可能会覆盖您在LoadState-Method中所做的更改。

也许您可以共享相关的XAML,LoadState的整个(相关)部分以及与此相关的ViewModel部分(例如,ctor)

问候