我真的变得疯狂了。我有一个很好的Combobox充满了我的CallsItems ...绑定工作得很好,但在代码中设置Combobox.SelectedIndex = "0"
后,我在显示第一个条目时出错。 (Combobox Selectionfield保持空白)
我的Combobox Xaml
<PivotItem>
<PivotItem.Header>
<TextBlock x:Uid="section1"/>
</PivotItem.Header>
<Grid Grid.Row="1">
<ComboBox x:Name="cb_arbeitsplatz"
x:Uid="arbeitsplatz"
Header="Wähle Arbeitsplatz"
ItemsSource="{Binding}"
Margin="0,6,0,0"
SelectionChanged="cb_arbeitsplatz_SelectionChanged"
>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding BEZEICH}" Style="{StaticResource HeaderTextStyle}"/>
<TextBlock Text="{Binding ARBPLATZ}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</PivotItem>
这是我的代码
public ObservableCollection<arbeitsplatz_class> cb_viewmodel = new ObservableCollection<arbeitsplatz_class>();
public _04_request()
{
DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait | DisplayOrientations.Landscape;
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Required;
this.navigationHelper = new NavigationHelper(this);
this.navigationHelper.LoadState += this.NavigationHelper_LoadState;
this.navigationHelper.SaveState += this.NavigationHelper_SaveState;
}
public NavigationHelper NavigationHelper
{
get { return this.navigationHelper; }
}
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
await JSON_arbeitsplatz.get_JSON("", cb_viewmodel);
cb_arbeitsplatz.DataContext = cb_viewmodel;
cb_arbeitsplatz.SelectedIndex = 0;
...
}
这是我从VisualStudio获得的错误。它只适用于第一个项目。所有的休息工作都很好:
Error: BindingExpression path error: 'BEZEICH' property not found on 'System.Collections.ObjectModel.ObservableCollection`1[[GANTERportal.Data.arbeitsplatz_class, GANTERportal, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. BindingExpression: Path='BEZEICH' DataItem='System.Collections.ObjectModel.ObservableCollection`1[[GANTERportal.Data.arbeitsplatz_class, GANTERportal, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'; target element is 'Windows.UI.Xaml.Controls.TextBlock' (Name='null'); target property is 'Text' (type 'String')
Error: BindingExpression path error: 'ARBPLATZ' property not found on 'System.Collections.ObjectModel.ObservableCollection`1[[GANTERportal.Data.arbeitsplatz_class, GANTERportal, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. BindingExpression: Path='ARBPLATZ' DataItem='System.Collections.ObjectModel.ObservableCollection`1[[GANTERportal.Data.arbeitsplatz_class, GANTERportal, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'; target element is 'Windows.UI.Xaml.Controls.TextBlock' (Name='null'); target property is 'Text' (type 'String')
我可以选择第一项。当我点击Combobox时,它很震撼 不幸的是我无法发送图片
但由于绑定错误,选择第一个项目将导致空白的Combobox。再一次,只有当我从后面的代码设置Combobox的选择时... ???? 不幸的是我无法发送图片
答案 0 :(得分:1)
我发现第二个ListView引起了所有混乱。我也设置了Listview的SelectedIndex(没有返回错误消息),但这导致了麻烦。删除 - 并且一切正常。现在我需要找到一个如何激活Combobox和Listview的解决方案...
答案 1 :(得分:0)
对于它的价值,这里有一些我要检查/做的事情:
a)进行检查以确保在行之前填充ComboBox:Combobox.SelectedIndex =“0” b)如果可能,在CombBox报告完成数据绑定操作时设置默认选择。 c)作为测试,尝试a)默认为另一个索引中的一个或两个,以消除它是第一个项目特有的可能性b)看看你是否可以在屏幕加载时从列表中选择索引零。