2012-08-30 66 views
2

我认为下面的图片足够好地描述了这个问题。组合框内的项目出现在组合框外

http://www.webeasy.com.gr/problem.jpg

在我的Windows Phone 7应用程序(C#),我结合一些数据(StatusNameAsceding,StatusNameDesceding等)

组合框正如你可以看到下拉似乎完全是空白,它的项目出现除了所选的下拉菜单之外。 任何想法。

UPDATE ... 我使用

的组合框的代码...(XAML页面)在App.xaml.cs

public enum SortingColumns 
{ 
    StatusNameAscending = 0, 
    StatusNameDescending, 
    EXAMINOAscending, 
    EXAMINODescending, 
} 
public SortingColumns SortingColumn { get; set; } 

在后面

<ComboBox SelectionChanged="OnSortingColumnChanged" 
x:Name="SortingColumn" Margin="2,0,0,0" Foreground="Black" 
VerticalContentAlignment="Center" Padding="0"> 

代码(page.xaml.cs)

this.DataContext = CreateSampleData(); 

App.Current.SortingColumn = App.SortingColumns.StatusNameAscending; 
SortingColumn.Items.Add(App.SortingColumns.StatusNameAscending.ToString()); 
SortingColumn.Items.Add(App.SortingColumns.StatusNameDescending.ToString()); 
SortingColumn.Items.Add(App.SortingColumns.EXAMINOAscending.ToString()); 
SortingColumn.Items.Add(App.SortingColumns.EXAMINODescending.ToString()); 
SortingColumn.SelectedIndex = (int)App.Current.SortingColumn; 

和...

private void OnSortingColumnChanged(object sender, SelectionChangedEventArgs e) 
{ 
    App.Current.SortingColumn = (App.SortingColumns)SortingColumn.SelectedIndex; 

    // Rebind 
    // The List control binds the data again when a different datacontext is set. 
    var datacontext = DataContext; 
    DataContext = null; 
    DataContext = datacontext; 
} 

UPDATE2 ... 当我在空白列表的选择发生变化点击排序应用 我觉得不对劲发生在组合框模板,但我不不知道什么! 任何想法? 在此先感谢!

+0

谢谢史蒂夫!你很亲切! – Gino

+0

你可以发布一些代码,以便我们可以了解发生了什么? –

+0

请看看我更新的问题!谢谢! – Gino

回答

0

最后我用listpicker来代替ComboBox

<toolkit:ListPicker SelectionChanged="OnSortingColumnChanged" x:Name="SortingColumn" Margin="2,0,0,0" Foreground="Black" Width="300" Height="180" FontSize="18"></toolkit:ListPicker> 

的一些细节......

,首先必须安装Windows Phone的Silverlight的工具。你可以在这里下载:http://silverlight.codeplex.com/releases/view/71550

然后我们去AnyPage.xaml并建立了一个样本用户界面,但在那之后,我们声明如下所示:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" 

代码的其余部分保持不变。欲了解更多关于listpicker的信息,请看看here