2

だから私はWindows Phone 8アプリに取り組んでおり、toolkit:MultiselectListへのデータのバインドに問題があります。私が持っているXAMLは

<toolkit:MultiselectList x:Name="CatCardList">
    <toolkit:MultiselectList.ItemTemplate>
        <DataTemplate>
            <StackPanel Tap="ListItemTap" Orientation="Horizontal" Height="120">
                <Rectangle Height="100" Width="100" Fill="{Binding accent}"/>
                <StackPanel>
                    <TextBlock Text="{Binding name}"/>
                    <TextBlock Text="{Binding limit}"/>
                    <TextBlock Text="{Binding alert}"/>
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </toolkit:MultiselectList.ItemTemplate>
</toolkit:MultiselectList>

次の要素を持つクラスの要素を挿入しています (すべて適切な get と set で公開されています)。

string name
string limit
string alert
SolidColorBrush accent

要素が挿入されると、バインディングが適用されないため、リストにそのクラスの ToString() しか表示されません。一方ListBox、同じバインディングでコントロールを使用すると、すべて正常に動作します。

もう 1 つの興味深い事実は、NuGet 2.0 を使用していたとき、上記のバインドが正常に機能したことです。しかし、今日 NuGet パッケージを更新したところ、動作が停止し、Invalid XAML警告が表示されましたが、正常にコンパイルされました。

以前は機能していたのに、なぜこれが機能しないのかわかりません。これが NuGet パッケージのバグなのか、それとも私のコードに何か問題があるのか​​、誰か教えてください。

ありがとう。

4

2 に答える 2

2

私は同じ問題を抱えていました.Windows Phone 8 SDKで利用可能な新しいロングリストマルチセレクターコントロールを使用してこれらの問題を修正しました...

それはあなたの問題をすべて解決するはずです!

于 2013-01-15T00:19:06.277 に答える
0

これは、Phone Toolkit の WindowsPhone 8 プロジェクトに MultiselectList のスタイル定義が含まれていないためです。TargetType"controls:MultiselectList" を含むスタイル定義を WindowsPhone 7 プロジェクトから Themes/Generic.xaml にコピーすると機能します。

于 2013-09-22T12:26:19.147 に答える