如何将查询字符串绑定到Silverlight中的视图模型上的属性?

时间:2011-02-07 20:27:38

标签: silverlight xaml binding

我有一个带有ID的视图模型,我希望能够通过查询字符串进行设置。在XAML中有一种方法可以将属性的值设置为查询字符串值吗?这是当前的XAML:

<local:DetailsViewModel x:Key="viewModel" DetailsID="1" />

XAML是否有效?

<local:DetailsViewModel x:Key="viewModel" DetailsID="{Binding HtmlDocument.Querystring["id"]}" />

1 个答案:

答案 0 :(得分:1)

要在代码中访问查询字符串,您可以使用以下内容:

var query = System.Windows.Browser.HtmlPage.Document.QueryString;

如您所见,HtmlPage是一个静态类。但是,在Silverlight中无法绑定到静态实例(在WPF中,您可以使用{x:Static})。

另一方面,大多数人使用常规CLR对象作为其ViewModel,而不是使用DependencyProperties的DependencyObjects,这被认为是过度杀伤。因此,您无法使用绑定的属性创建ViewModel!

你有什么理由不想在代码中这样做吗?