我有这个网格,包含一个模板:
<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
我想将模板的一个实例插入到包含的网格Bar
中。这就是我正在做的事情:
FrameworkElement item = (FrameworkElement) ScoreText.LoadContent();
item.DataContext = new { Col = 0, Value = 100 };
Bar.Children.Add(item);
这适用于visual studio中的XAML设计器,但无法在手机上正确绑定。
我需要做些什么来完成这项工作?
答案 0 :(得分:0)
匿名类型不起作用,因为只能绑定属性。添加:
public struct Data {
public int Col {get; set;}
public string Value {get; set;}
}
改变
item.DataContext = new { Col = 0, Value = 100 };
到
item.DataContext = new Data { Col = 0, Value = 100 };
让它发挥作用