C# 将FrameworkElement.DataContext设置为匿名对象
我有一个网格,包含一个模板:C# 将FrameworkElement.DataContext设置为匿名对象,c#,silverlight,windows-phone-7,data-binding,C#,Silverlight,Windows Phone 7,Data Binding,我有一个网格,包含一个模板: <Grid x:Name="Bar" Width="400"> <Grid.Resources> <DataTemplate x:Name="ScoreText"> <Grid Grid.Column="{Binding Col}"> <Rectangle Fill="Red"/> <Tex
<Grid x:Name="Bar" Width="400">
<Grid.Resources>
<DataTemplate x:Name="ScoreText">
<Grid Grid.Column="{Binding Col}">
<Rectangle Fill="Red"/>
<TextBlock Text="{Binding Value}" />
</Grid>
</DataTemplate>
</Grid.Resources>
</Grid
这可以在VisualStudio的XAML设计器中工作,但无法在手机上正确绑定
我需要做些什么才能使其工作?匿名类型不工作,因为只有属性可以绑定到。添加:
public struct Data {
public int Col {get; set;}
public string Value {get; set;}
}
改变
item.DataContext = new { Col = 0, Value = 100 };
到
使其工作匿名类型不工作,因为只有属性可以绑定到。添加:
public struct Data {
public int Col {get; set;}
public string Value {get; set;}
}
改变
item.DataContext = new { Col = 0, Value = 100 };
到
使其工作您是否尝试过不使用匿名对象?通常,我会用属性定义一个类型,然后将dataContex设置为Grid@lukas:定义一个简单类型没有帮助:
public struct Data{public int Col;public string Value;}
,尽管我现在意识到类型转换可能很重要。现在它甚至在设计器中都不起作用。您所说的将dataContex设置为Grid`是什么意思?哪个网格?你试过不使用匿名对象吗?通常,我会用属性定义一个类型,然后将dataContex设置为Grid@lukas:定义一个简单类型没有帮助:public struct Data{public int Col;public string Value;}
,尽管我现在意识到类型转换可能很重要。现在它甚至在设计器中都不起作用。您所说的将dataContex设置为Grid`是什么意思?哪个网格?最好改成类。可变结构是邪恶的;)最好改成上课。可变结构是邪恶的;)