无法使用Datacontext将数据绑定到Callisto livetiles

时间:2013-05-09 21:48:51

标签: c# windows-runtime winrt-xaml

这是我正在使用的Live Tile模板

<callisto:LiveTile x:Name="liveTile1" Grid.Row="1" Grid.Column="0"
         ItemsSource="{Binding}"
         BorderBrush="White" BorderThickness="1"
         Margin="15" Background="#FFCAD83E">
                <callisto:LiveTile.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <StackPanel>
                                <TextBlock Text="Temp" FontWeight="SemiBold" 
                                           FontSize="25" FontFamily="Segoe UI Semibold" 
                                           Margin="10,20,0,0">
                                </TextBlock>
                                <StackPanel Orientation="Horizontal" Margin="0,20,0,0">
                                   <TextBlock Text="{Binding Name}" x:Name="CrudeStMainTankName"
                                              FontWeight="Light"
                                              FontSize="20"
                                              FontFamily="Segoe UI Semilight"
                                              Margin="0,0,0,0">
                                   </TextBlock>
                                   <TextBlock Text="{Binding Value}" x:Name="CrudeStMainTankValue"
                                              FontWeight="Light"
                                              FontSize="20" 
                                              FontFamily="Segoe UI Semilight"
                                              Margin="0,00,0,0">
                                    </TextBlock>
                                </StackPanel>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
              </callisto:LiveTile.ItemTemplate>
 </callisto:LiveTile>

这就是我将DataContext分配给这个实时Tile的方法

liveTile1.DataContext = cds.ComponentCollection[0];

我试图调试它,但我无处可去。

现在cds.ComponentCollection [0]从集合中检索项目的名称,类型和值,并从此集合项中,我将Textblock属性Name绑定到Item属性Name和Textblock属性Value to Item属性值。
任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

LiveTileItemsControl因此您需要将其ItemsSource属性设置为集合。使用您的XAML,这意味着您需要将DataContext设置为完成cds.ComponentCollection,而不仅仅是第一项,即:

liveTile1.DataContext = cds.ComponentCollection;