2

我有这个网格,包含一个模板:

<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 设计器,但无法在手机上正确绑定。

我需要做什么才能完成这项工作?

4

1 回答 1

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 };

让它工作

于 2012-06-16T13:43:35.923 回答