关于在Application引入类型转化器
JsonArray data = System.Json.JsonArray.Parse(jsonData) as System.Json.JsonArray;
grid.ItemsSource = GenerateData(data).ToDataSource();
通过JSON将数据绑定到DataGrid之后,发现字符串读出来之后,双引号没有去掉...
想通过自定义的转化器在绑定时候处理一下,在APP.xaml文件中
<Application x:Class="Sl5Test.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:UConvert="clr-namespace:Sl5Test.App_Code" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<UConvert:MarkConverter x:Key="MarkConverter" />
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
报错:错误 The type 'ResourceDictionary' is inside a ResourceDictionary and does not have a key.
版本是:Siverlight 5
请问,该如何添加引用以便让{Binding XXX, Converter={StaticResource MarkConverter}好绑定...
或者,有没有什么其他好的办法可以处理?
要绑定的DataGrid是在子窗口中,无法在窗口里使用<UserControl.Resources></UserControl.Resources>
[解决办法]
使用DataContractJsonSerializer来将Json字符串反序列化为对象即可。参照以下文章,不会出现你这里的问题:
http://www.cnblogs.com/chengxingliang/archive/2011/04/15/2016280.html
[解决办法]
这个很容易,来捡分了。。
<Application x:Class="Sl5Test.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:UConvert="clr-namespace:Sl5Test.App_Code" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Application.Resources> <UConvert:MarkConverter x:Key="MarkConverter" /> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Assets/Styles.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources></Application>