C# 如何将Double添加到我的XAML中的Double列表中
我想知道如何在我的FoodItem类中轻松地向列表中添加一个double列表 我的XAML:C# 如何将Double添加到我的XAML中的Double列表中,c#,list,xaml,C#,List,Xaml,我想知道如何在我的FoodItem类中轻松地向列表中添加一个double列表 我的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:Fo
<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类有一个名为Price的方法:
public class FoodItem
{
...
List<double> prices = new List<double>();
...
public List<double> Price
{
get { return prices; }
set
{
prices = value;
}
}
...
}
公共类FoodItem
{
...
定价=新列表();
...
公开标价
{
获取{返回价格;}
设置
{
价格=价值;
}
}
...
}
不幸的是,我在XAML文件中输入价格列表的方式给了我一个错误。但它正在编译
我得到的错误是:
PresentationFramework.dll中首次出现类型为“System.Windows.Markup.XamlParseException”的异常
其他信息:“列表“1”类型没有公共TypeConverter类。第31行位置85处的错误
第31行是顶部的代码
感谢所有的帮助:)您不能使用价格中使用的XAML语法将项目添加到列表或数组中(据我所知) 价格=“3.50,3.00,2.50” 当它试图在运行时将多个价格字符串转换(并分配)到列表中时,它抛出异常 这个小示例演示如何在Xaml中向数组添加值:
<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>
3.5
3
2.5
如果要将FoodItem
放入FoodItemCollection
,请遵循已经执行的相同模式。你只需要在价格上再进一步
希望这能有所帮助。太酷了,谢谢,我试试看