在xaml windows phone中使用longlistselector的问题

时间:2014-05-29 15:03:57

标签: xaml windows-phone-8 visual-studio-2013

我遇到了长列表选择器的问题。 Visual Studio说xaml无效但它编译并且工作正常。问题是我需要在代码隐藏对象的文本" txtProjectName"看起来这个对象没有创建。 这是代码:

<phone:PanoramaItem Header="{Binding Source={StaticResource LocalizedStrings}, Path=LocalizedResources.MainPagePanoramaItemGalleryTitle}">
            <!--Lista de líneas dobles con marcador de posición de imagen y ajuste de texto que usa un encabezado flotante que se desplaza con el contenido-->
            <phone:LongListSelector x:Name="GaleryLongListSelector" Margin="10" }">
                <phone:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <Grid Margin="10">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <StackPanel Orientation="Horizontal" Margin="12,2,0,4" Height="100" Tap="StackPanel_Tap" toolkit:TiltEffect.IsTiltEnabled="True" Grid.Column="0">
                                <!--Reemplazar el rectángulo por la imagen-->
                                <Border BorderThickness="1" Width="79" Height="79" BorderBrush="Red" Background="#FFFFC700"/>
                                <TextBlock x:Name="txtProjectName" Text="{Binding Name}" TextWrapping="Wrap" Margin="10,0" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeLarge}" />
                            </StackPanel>
                            <Image Source="/Images/share.png" Width="80" Tap="Image_Tap" Grid.Column="1" HorizontalAlignment="Right"/>
                        </Grid>
                    </DataTemplate>
                </phone:LongListSelector.ItemTemplate>
            </phone:LongListSelector>
        </phone:PanoramaItem>

datacontext在后面的代码中定义,因为它是一个数据库。 感谢

1 个答案:

答案 0 :(得分:0)

首先 - 我不确定这是否是一个副本错误,或者你的代码中也有这个:<phone:LongListSelector x:Name="GaleryLongListSelector" Margin="10" }"> - 删除}"

你的代码应该有用,几条评论:

  • 您的LLS应填充哪些类应具有适当的getter的公共属性:

    public class Item
    {
        public string Name { get; set; }
    }
    
  • 您的商品应该List或更好ObservableCollection

    ObservableCollection<Item> items = new ObservableCollection<Item>();
    
  • 您应将此集合设置为ItemsSource:

    GaleryLongListSelector.ItemsSource = items;
    
  • 然后您可以添加项目,如果是ObservableCollection,您将自动看到您的项目:

    items.Add(new Item { Name = "First" });
    

希望这有点帮助。