我有一个 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事件中的任何值,则文本通常会显示在文本框中。
这里有什么不妥?
答案 0 :(得分:0)
如果您使用DataContext来分配属性,那么这可能会覆盖您在LoadState-Method中所做的更改。
也许您可以共享相关的XAML,LoadState的整个(相关)部分以及与此相关的ViewModel部分(例如,ctor)
问候