将参数传递给Silverlight用户控件

时间:2010-11-12 16:11:57

标签: c# silverlight user-controls navigation

在Silverlight用户控件的代码隐藏文件中有一个方法,我应该传递一个字符串参数。我正在尝试以下方式,但收到错误 System.Collections.Generic.KeyNotFoundException        消息=在字典中找不到密钥。

public partial class MyUserControl : UserControl
{
    public MyUserControl()
    {
        InitializeComponent();
        string strid = HtmlPage.Document.QueryString["id"]; // this way it doesn't work
        ReadAndUpdate(strid);
    }

    private void ReadAndUpdate(string shid)
    {
          //some stuff here
    }
 ..........

我将此页面称为以下内容:

        string idstr = xxxx; // my value
        this.NavigationService.Navigate(new
                    System.Uri("/MyPage?id=" + idstr, System.UriKind.Relative));

上面的Uri字符串按预期出现在浏览器中(如果我不想在我的UserControls初始化中解析它)。

在MyPage XAML(我导航到的地方)中调用MyUserControl:

<uc:MyUserControl />

我做错了什么?我是否正朝着正确的方向前进?

1 个答案:

答案 0 :(得分:1)