2010-11-26 7 views
1

FoodItemクラス内のリストにダブルリストを簡単に追加する方法を知りました。XAMLのダブルリストにダブルを追加する方法

私のXAML:

<src:FoodItemCollection x:Key="Drinks"> 
      <src:FoodItem Name="Fountain" ImagePath="Resources\drinks_fountain.png" Price="2.50,2.00,1.50"></src:FoodItem> 
      <src:FoodItem Name="Popcan" ImagePath="Resources\drinks_popcan.png" Price="1.50"></src:FoodItem> 
      <src:FoodItem Name="Bottle" ImagePath="Resources\drinks_bottle.png" Price="2.00"></src:FoodItem> 
      <src:FoodItem Name="Slushy" ImagePath="Resources\drinks_slushy.png" Price="3.50,3.00,2.50"></src:FoodItem> 
     </src:FoodItemCollection> 

マイFoodItemクラスは価格と呼ばれる方法があります。

public class FoodItem 
{ 
... 
List<double> prices = new List<double>(); 
... 

public List<double> Price 
     { 
      get { return prices; } 
      set 
      { 
       prices = value; 
      } 
     } 
... 
} 

残念ながら、私は私のXAMLファイル内の価格のリストを入力しています方法は私にエラーを与えているが。しかしそれは編集中です。

私は取得していますエラーは次のとおりです。型「System.Windows.Markup.XamlParseException」の

最初のチャンス例外がPresentationFramework.dll

で発生しました追加情報:「List`1」タイプにはありませんパブリックTypeConverterクラスを持っています。行31の位置でエラーが発生しました。

行31は、先頭のコードです。すべての助けを

感謝:)

+1

あなたはエラーが発生しています – TalentTuner

答えて

2

あなたは(私の知る限り)あなたの価格で使用しているXAML構文のリストや配列に項目を追加することはできません。

価格=「3.50,3.00,2.50」

実行時にリストに複数の価格の文字列を変換(および割り当て)しようとしている、それが例外をスローします。

この小さな例では、XAMLで配列に値を追加する方法を示します:あなたはFoodItemCollectionFoodItemを入れたい場合は

<Window x:Class="XamlTest.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:sys="clr-namespace:System;assembly:mscorlib" 
     xmlns:src="clr-namespace:MyTestXaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Grid.Resources> 
      <src:FoodItem x:Key="Drinks"> 
       <src:FoodItem.Prices> 
        <sys:Double>3.5</sys:Double> 
        <sys:Double>3.0</sys:Double> 
        <sys:Double>2.5</sys:Double> 
       </src:FoodItem.Prices> 
      </src:FoodItem> 
     </Grid.Resources> 
     <ListBox DataContext="{StaticResource Drinks}" 
       ItemsSource={Binding Prices}/> 
    </Grid> 
</Window> 

、あなたはすでにやっているのと同じパターンに従います。あなたはそれをあなたの価格でさらに遠ざける必要がありました。

これが役に立ちます。

+0

クールありがとう、それは試してみてください –

関連する問題