0

我使用 c4f 工具包中的 ColorPicker 控件,我想在页面之间发送颜色。我这样通过:

NavigationService.Navigate(new Uri("/GeneratePage.xaml?foreground=" + CodeColorPicker.Color, UriKind.Relative)); 

在 GeneratePage.xaml 我检索这样的数据:

var colorCode = NavigationContext.QueryString["foreground"].ToString();

但内容是空的。我试图分配给文本块

test.Text = colorCode;

不幸的是文本块是空的。

我还尝试编写一个从字符串到 ARGB 的转换器,但如果字符串为空,它不会做任何事情。有谁知道如何发送?

4

1 回答 1

0

我的猜测是您的颜色代码以“#”开头。因此,您的 URL 如下所示:

/GeneratePage.xaml?foreground=#000000

'#' 之后的部分被解释为锚点,因此您的前景参数为空。

要解决此问题,您可以对 URL 进行编码,也可以从颜色代码中去掉“#”:

NavigationService.Navigate(new Uri("/GeneratePage.xaml?foreground=" + CodeColorPicker.Color.ToString().TrimStart('#'), UriKind.Relative)); 
于 2013-11-07T09:41:50.623 回答