Windows Phone 8.0列表框/组合框

本文关键字:组合 列表 Phone Windows | 更新日期: 2023-09-27 17:49:56

我对WP编程很陌生,我以前使用过Borland Delphi/PHP/MySQL .

我想要有组合框或列表框(我知道WP8不再有组合框了:()

我尝试了很多选项,但是我的列表框没有出现在屏幕上。按钮,文本都没问题,列表框永远不会在运行时出现。也不要在编译器上得到任何错误。

你能帮我一步一步地创建一个组合框/列表框为以下项目:

C,C#,D,D#,E,F,F#,G,G#,A,A#,B

我想有这些在一个列表中,当用户选择其中一个,我将使一些音乐规模选项开始的关键,他选择的用户。

如果你能给我解释一下WP8:

  1. 如何定义MainPage.xaml中的列表框
  2. 如何创建绑定
  3. 如何在mainpage . example .cs中定义列表并绑定到列表框

我安装了工具箱并尝试了列表选择器,但也没有工作。

我添加我尝试的部分:你好,在主页。我把这段代码写成最后一次尝试:

        <ListBox ItemsSource="{Binding ScaleSharpx}" Width="50" Background="Blue">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding text}" />
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </StackPanel>

和在mainpage . example .cs我尝试了这些

public String[] ScaleSharpx = { "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"};

页面没有显示

如果我这样做:

<ListBox x:Name="D1" ItemsSource="{Binding}" Width="50" Background="Blue">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBox Text="{Binding text}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

,然后将此代码添加到mainpage . example .cs

this.D1.ItemsSource = ScaleSharpx;

i got error message that

{系统。InvalidOperationException:在使用ItemsSource之前,Items集合必须为空。在System.Windows.Controls.ItemsControl。set_ItemsSource (IEnumerable价值)在Scale_Finder.MainPage.…异常{系统。InvalidOperationException}

Windows Phone 8.0列表框/组合框

这个例外意味着你的ListBox已经有项目在它的Items属性。除非Items属性仍然为空,否则不能设置ItemsSource

关于你的评论"为什么项目是可编辑的?""这是因为您使用TextBox来显示它。如果您希望项显示为只读,则更适合使用TextBlock:
<ListBox x:Name="D1" Width="50" Background="Blue">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>