在页面之间传递颜色 - colorPicker控件

时间:2013-11-07 08:24:02

标签: c# wpf oop xaml windows-phone-7

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

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

并在GeneratePage.xaml中检索如下数据:

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

但内容是空的。我尝试过分配到文本块

test.Text = colorCode;

不幸的是,textblock是空的。

我还尝试将字符串转换为ARGB,但如果字符串为空则不会执行任何操作。有没有人知道如何发送?

1 个答案:

答案 0 :(得分:0)

我的猜测是你的颜色代码以'#'开头。因此,您的网址如下所示:

/GeneratePage.xaml?foreground=#000000

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

要解决此问题,您可以对您的网址进行编码,也可以从您的颜色代码中删除“#”:

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