我刚刚在我的应用程序中集成了Tile创建。
Tiles创建得很好。我设置了一个字符串参数,以便在从Tile启动应用程序时使用。
在我的 Class.xaml.cs :
中 string tileActivationArguments = "test_params";
SecondaryTile s = new SecondaryTile(name_clean,
name,
name,
tileActivationArguments,
TileOptions.ShowNameOnLogo,
logo);
s.DisplayName = name;
s.ForegroundText = ForegroundText.Dark;
bool isPinned = await s.RequestCreateForSelectionAsync(MainPage.GetElementRect((FrameworkElement)sender), Windows.UI.Popups.Placement.Below);
并且成功了。
但是当我从启动菜单中点击Tile时,我到达MainPage.OnNavigatedTo
并且在这里,params存在,我将它们设置在局部变量上。
MainPage.xaml.cs中
private string params;
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
var parametters = e.Parameter as string;
if (parametters != null && parametters != "")
{
params = parametters ; // WORKS: here params has the good parameter string
....
}
}
然后,它进入 MainPage()
public MainPage()
{
this.InitializeComponent();
// here the params seems to be reset
Debug.WriteLine(params); // Exception
// params == null
...
}
任何想法?
答案 0 :(得分:0)
在OnNavigatedTo
之前始终首先调用构造函数。此时,params
仍然为空