绑定问题 WPToolkit ListPicker with SQL Server CE 3.5 DataContext
本文关键字:CE DataContext Server SQL 问题 WPToolkit ListPicker with 绑定 | 更新日期: 2023-09-27 17:57:59
嗯,好吧,这是我在StackOverflow中的第一个问题!我从很久以来一直在使用这个网站,但我从来没有问过什么,因为我总是在别人的问题中找到答案哈哈显然不再是这样了哈哈。
无论如何,我正在尝试将自定义类的列表(该类被修饰为与管理本地SQL Server CE 3.5数据库的DataContext
一起使用 - 本机包含在Windows Phone 7.5中(绑定到WPToolkit的ListPicker
控件,奇怪的是我看不到我在ListPicker
中绑定的元素的值(我确保列表已填充(。
这是类:
[Table(Name = "Rubriques")]
class Rubrique
{
[Column(IsPrimaryKey = true, DbType = "TINYINT", CanBeNull = false)]
public Byte Id { get; set; }
[Column(DbType = "NVARCHAR(40)")]
public String Nom { get; set; }
}
这是DataContext
:
class IntermediaireDataContext : DataContext
{
public IntermediaireDataContext() : base("Data Source='isostore:/IntermediaireBDD.sdf';")
{
}
public Table<Rubrique> Rubriques
{
get { return this.GetTable<Rubrique>(); }
}
}
这是我用来将列表绑定到ListPicker
的代码:
using (IntermediaireDataContext context = new IntermediaireDataContext())
{
rubs = (from x in context.Rubriques select x).ToList<Rubrique>(); //rubs already exists
RubListPicker.ItemsSource = rubs;
}
下面是 XAML:
<toolkit:ListPicker x:Name="RubListPicker" SelectionMode="Single" FullModeHeader="Rubriques">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Nom}" FontSize="16"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Nom}" FontSize="26" FontWeight="Bold"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>
Rubrique
rubs 的列表被填充并设置为ItemsSource
RubListPicker
,如果我删除DataTemplate
中TextBlock
的Text="{Binding Nom}"
,我可以看到类的名称MyNamespace.Rubrique
在ListPicker
中的每个元素中。
我无法弄清楚数据绑定有什么问题...任何帮助将不胜感激:)
我正在使用 Visual Studio 2012 Ultimate 中 NuGet 的最新版本的 WPToolkit 4.2012.10.30 和 Windows Phone 8 SDK。
感谢您抽出宝贵时间阅读本文!
问候
阿里
编辑
我找到了解决方案,这让我笑得很厉害,哈哈。
我不得不改变 de 我的班级鲁布里克的安全级别;当我将其设置为公开时,一切正常。
实际上,ListPicker
可以访问List<Rubrique>
,但无法访问每个Rubrique
的值。
一个值得将来记住的好方法:使用外部库时,请始终检查类/属性/方法的安全级别。
在StackOverflow中的第一个问题,我可以自己回答:像老板一样:D
所以诀窍是让我的类公开,以便可以通过 WPToolkit ;) 的 ListPicker 控件访问它
干杯!