如何设置ViewModel';s属性,而不进行显式类型转换
本文关键字:属性 类型转换 何设置 设置 ViewModel | 更新日期: 2023-09-27 17:59:57
我是mvvm的新手,所以我真的需要你的帮助。
在我的wp7应用程序中,我尝试使用MVVM Light工具包。我有两个视图:"Main"和2模式的"New",用于添加一些项目和编辑一些项目。
class Item
{
public int ID {get; set;}
public string Name {get; set;}
}
当我从MainView导航到NewView时,如果我想编辑项目,我会在查询字符串中添加"Name"参数。在NewView上,我有一个文本框:
<TextBox Grid.Column="1" Name="txtListName" Text="{Binding ItemName}"/>
NewViewModel:
class NewViewModel
{
public string ItemName { get; set; }
}
如果没有NewView.xaml.cs中的代码,我如何从NewView设置ItemName属性
(this.DataContext as NewViewModel).ItemName = name;
提前感谢!
我已经决定了这个问题。在NewView上,我设置为文本框双向绑定:
<TextBox Grid.Column="1" Name="txtListName" Text="{Binding ItemName,Mode=TwoWay}"/>
然后在视图的加载事件中,我设置了该文本框的文本属性:
void NewView_Loaded(object sender, RoutedEventArgs e)
{
String name;
if (NavigationContext.QueryString.TryGetValue("Name", out name))
this.txtListName.Text = name;
}
在设置NewViewModel的属性ItemName之后!