【问题标题】:Problems with a longlistselector in xaml windows phonexaml windows phone中longlistselector的问题
【发布时间】:2014-05-29 15:03:56
【问题描述】:

我在使用长列表选择器时遇到问题。 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 是在后面的代码中定义的,因为它是一个数据库。 谢谢

【问题讨论】:

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


    【解决方案1】:

    首先 - 我不确定这是复制错误还是你的代码中也有这个:&lt;phone:LongListSelector x:Name="GaleryLongListSelector" Margin="10" }"&gt; - 删除 }"

    您的代码应该可以工作,几句话:

    • 您的 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" });
      

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回答。 “}”是一个复制粘贴错误。对不起。您所做的其余评论在代码中都可以。我认为代码应该可以工作,但事实并非如此。谢谢
    • @LuisLópez 那么问题肯定出在其他地方。正如我tried simple example works。检查一下,也许会有帮助。
    • 我试过了,这个简单项目中的代码没有返回任何异常或问题。当前项目编译并运行良好,但我需要使用代码隐藏中的 txtProjectName texblock,但我不能。 xaml 代码用蓝线下划线表示无效 xaml 但我没有找到错误。感谢您的帮助
    • @LuisLópez 是否有机会分享一个重现异常的简单代码?
    猜你喜欢
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    相关资源
    最近更新 更多