0

これは、StackOverflow での最初の質問です。私は何年も前からこのサイトを使用してきましたが、何かを尋ねる必要はありませんでした.

とにかく、カスタム クラスのリスト (DataContextローカルの SQL Server CE 3.5 データベースを管理するために装飾されている - Windows Phone 7.5 にネイティブに含まれている) をListPickerWPToolkit のコントロールにバインドしようとしていますが、不思議なことにできますバインドした要素の値が表示さ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>

Rubriquerubsのリストにデータが入力され、 に設定されます。 のを削除するItemsSourceと、 のすべての要素にクラスの名前が表示されます。RubListPickerText="{Binding Nom}"TextBlockDataTemplateMyNamespace.RubriqueListPicker

データバインディングの何が問題なのかわかりません...どんな助けも大歓迎です:)

Windows Phone 8 SDK を使用して Visual Studio 2012 Ultimate で NuGet の WPToolkit 4.2012.10.30 の最新バージョンを使用しています。

これを読んでくれてありがとう!

よろしく、

アリ


編集

解決策を見つけて、大笑いしました笑。

クラス Rubrique のセキュリティ レベルを変更する必要がありました。public に設定すると、すべて正常に機能しました。

実際、 はListPickerにアクセスできましたList<Rubrique>が、 each の値にアクセスできませんでしたRubrique

将来のために覚えておくとよいこと: 外部ライブラリを使用するときは、クラス/属性/メソッドのセキュリティ レベルを常に確認してください。

4

1 に答える 1

0

これは StackOverflow で初めての質問で、自分で答えることができます: Like A Boss :D

したがって、秘訣はクラスを公開して、WPToolkit の ListPicker コントロールからアクセスできるようにすることでした;)

乾杯!

于 2013-02-09T23:37:26.397 に答える