将 ObservbleCollection 绑定到组合框 XAML - Windows phone
Binding ObservbleCollection to Combo box in XAML - Windows phone
我试图将 ObservableCollection
变量绑定到 XAML 中的 ComboBox
。数据不具有约束力。
XAML 文件
<ComboBox x:Name="cmbCity" Height="44" Width="150" Grid.Row="4"
ItemsSource="{Binding}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="5" Text="{Binding lstCity}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
后面的代码(导航到另一个页面后)
protected override void OnNavigatedTo(NavigationEventArgs e)
{
UserInfo userInfo = new UserInfo();
userInfo.UserName = "Gayathri";
userInfo.Country = "India";
userInfo.State = "TN";
ObservableCollection<string> cityInfo = new ObservableCollection<string>();
cityInfo.Add("Chennai");
cityInfo.Add("Cuddalore");
cityInfo.Add("Pondicherry");
cityInfo.Add("Villupuram");
userInfo.lstCity = cityInfo;
this.DataContext = userInfo;
}
我在这里传递 DataContext
中的值。数据绑定到 textbox
但不是 Combobox
.
输出:
你的绑定有点错误。
他们应该是这样的:
<ComboBox x:Name="cmbCity" Height="44" Width="150" Grid.Row="4"
ItemsSource="{Binding lstCity}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="5" Text="{Binding}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
(我已将引用移至 lstCity
)
之前您将整个 DataContext 绑定到 ComboBox,然后将每个 TextBlock 绑定到字符串集合。
您需要将 ComboBox 的 ItemsSource 绑定到集合,然后每个 TextBlock 应包含字符串之一。
我试图将 ObservableCollection
变量绑定到 XAML 中的 ComboBox
。数据不具有约束力。
XAML 文件
<ComboBox x:Name="cmbCity" Height="44" Width="150" Grid.Row="4"
ItemsSource="{Binding}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="5" Text="{Binding lstCity}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
后面的代码(导航到另一个页面后)
protected override void OnNavigatedTo(NavigationEventArgs e)
{
UserInfo userInfo = new UserInfo();
userInfo.UserName = "Gayathri";
userInfo.Country = "India";
userInfo.State = "TN";
ObservableCollection<string> cityInfo = new ObservableCollection<string>();
cityInfo.Add("Chennai");
cityInfo.Add("Cuddalore");
cityInfo.Add("Pondicherry");
cityInfo.Add("Villupuram");
userInfo.lstCity = cityInfo;
this.DataContext = userInfo;
}
我在这里传递 DataContext
中的值。数据绑定到 textbox
但不是 Combobox
.
输出:
你的绑定有点错误。
他们应该是这样的:
<ComboBox x:Name="cmbCity" Height="44" Width="150" Grid.Row="4"
ItemsSource="{Binding lstCity}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="5" Text="{Binding}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
(我已将引用移至 lstCity
)
之前您将整个 DataContext 绑定到 ComboBox,然后将每个 TextBlock 绑定到字符串集合。
您需要将 ComboBox 的 ItemsSource 绑定到集合,然后每个 TextBlock 应包含字符串之一。