[英]Windows Phone 8.0 listbox / Combobox
我对WP编程非常陌生,之前我曾与Borland Delphi / PHP / MySQL合作。
我想要组合框或列表框(我知道WP8不再有组合框了:()
我尝试了许多选项,但是列表框没有出现在屏幕上。 按钮,列表框上的文本都可以,在运行时不会显示。 并且在编译器上也没有任何错误。
您能否逐步帮助我如何为以下各项创建组合框/列表框:
C,C#,D,D#,E,F,F#,G,G#,A,A#,B
我想将它们放在一个列表中,当用户选择其中一个时,我将从他为用户选择的键开始做出一些“音阶”选项。
如果可以为我解释WP8:
我安装了工具包,也尝试了listpicker,但是后来没用。
我添加了我尝试过的部分:嗨,在MainPage.xaml中,我将此代码写为最后一次尝试:
<ListBox ItemsSource="{Binding ScaleSharpx}" Width="50" Background="Blue">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding text}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
在MainPage.xaml.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.xaml.cs
this.D1.ItemsSource = ScaleSharpx;
我收到错误消息,
{System.InvalidOperationException:在使用ItemsSource之前,Items集合必须为空。 在System.Windows.Controls.ItemsControl.set_ItemsSource(IEnumerable值)处,在Scale_Finder.MainPage..ctor()}处System.Exception {System.InvalidOperationException}
该异常意味着您的ListBox的Items
属性中已经有项目。 您不能设置ItemsSource
除非Items
属性仍然为空。
而关于您的评论“ 为什么项目是可编辑的? ”那是因为您使用TextBox
来显示它。 如果希望项目显示为只读,则更适合使用TextBlock
:
<ListBox x:Name="D1" Width="50" Background="Blue">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.