绑定问题 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,如果我删除DataTemplateTextBlockText="{Binding Nom}",我可以看到类的名称MyNamespace.RubriqueListPicker中的每个元素中。

我无法弄清楚数据绑定有什么问题...任何帮助将不胜感激:)

我正在使用 Visual Studio 2012 Ultimate 中 NuGet 的最新版本的 WPToolkit 4.2012.10.30 和 Windows Phone 8 SDK。

感谢您抽出宝贵时间阅读本文!

问候

阿里


编辑

我找到了解决方案,这让我笑得很厉害,哈哈。

我不得不改变 de 我的班级鲁布里克的安全级别;当我将其设置为公开时,一切正常。

实际上,ListPicker可以访问List<Rubrique>,但无法访问每个Rubrique的值。

一个值得将来记住的好方法:使用外部库时,请始终检查类/属性/方法的安全级别。

绑定问题 WPToolkit ListPicker with SQL Server CE 3.5 DataContext

这是我

在StackOverflow中的第一个问题,我可以自己回答:像老板一样:D

所以诀窍是让我的类公开,以便可以通过 WPToolkit ;) 的 ListPicker 控件访问它

干杯!