Wp7列表框子项目需要帮助

时间:2013-10-20 09:45:15

标签: windows-phone-7 listbox

基本上我正在制作这个简单的笔记应用程序,我有一个列表框。当用户通过单击保存按钮添加注释时,注释将另存为.txt文件,并在列表框中显示注释。因此,现在如果用户想要进行更改等,他们只需单击列表框项目,该项目将是他们保存的注释的名称。我想要做的基本上是当用户点击保存时,它会保存并显示列表框中的注释名称,例如注意名称是test.txt然后出现在列表框test.txt中。在列表框中显示的项目名称下,如何添加某种子项目?例如喜欢wp7中的邮件。它有电子邮件和子项目的主题,显示前12个左右的单词。我怎么能用我的应用程序这样做?到目前为止我只得到了音符名称。我希望它在项目下显示消息的名称和前14个单词。我希望这是有道理的。

我的代码太远了:

这基本上将myNote中的项目添加到列表框中,以便显示已保存的注释。

Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
    myIsolatedStorage.CreateDirectory("myNote")
    Dim directory As String = "./myNote/*.*"
    Dim filenames As String() = myIsolatedStorage.GetFileNames(directory)
    ListBox1.ItemsSource = filenames

这是列表框的xml

<ListBox HorizontalAlignment="Left" Margin="8,8,0,8" x:Name="ListBox1" Width="440" SelectionMode="Single" FontSize="32" FontFamily="Segoe WP SemiLight" RenderTransformOrigin="0.5,0.5" Grid.Row="2" Style="{StaticResource ListBoxStyle1}" Foreground="White" BorderBrush="#00000000" ItemContainerStyle="{StaticResource ListBoxItemStyle1}" ItemsPanel="{StaticResource ItemsPanelTemplate1}" />

任何?谢谢!

1 个答案:

答案 0 :(得分:0)

要在每个列表框项目中的文件标题下添加一些文本,您需要为ListBox定义新的ItemTemplate。通过定义您自己的ItemTemplate,您将能够准确选择每个列表框项的显示方式。

以下是提供Listbox的小样本,模板(DataTemplate部分中包含的所有内容)非常简单,您可以通过更改颜色,字体和等......

在您的xaml页面中:

        <ListBox HorizontalAlignment="Left" Margin="8,8,0,8" x:Name="ListBox1"
                 Width="440" SelectionMode="Single"
                 FontSize="32" FontFamily="Segoe WP SemiLight"
                 RenderTransformOrigin="0.5,0.5" Grid.Row="2"
                 Style="{StaticResource ListBoxStyle1}"
                 Foreground="White" BorderBrush="#00000000"
                 ItemContainerStyle="{StaticResource ListBoxItemStyle1}"
                 ItemsPanel="{StaticResource ItemsPanelTemplate1}" >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Vertical">
                        <TextBlock Text="{Binding FileName}" FontWeight="Bold"></TextBlock>
                        <TextBlock Text="{Binding Content}"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

然后您需要为ItemsSource分配一种新类型的List。您不必仅指定文件名ListList的{​​{1}}),而是必须提供String之类的内容,例如:

List

基本上,它只是一个包含2个属性的数据结构:Public Class NewListItem Public Property FileName() As String Get Return m_FileName End Get Set m_FileName = Value End Set End Property Private m_FileName As String Public Property Content() As String Get Return m_Content End Get Set m_Content = Value End Set End Property Private m_Content As String End Class FileName

最后,您需要通过迭代文件名Content并使用适当的值填充新属性来构建新类型的List:当然,它只是伪代码:

List
相关问题