Windows 8应用程序C#
我在页面上有几个TextBox和ComboBox控件。在另一个页面上,我想获取这些控件的值以再次使用它们(例如cboTeam.SelectedValue)。
是否有正确的方法可以在其他页面中获取这些值?
编辑:
XAML代码:
<ComboBox ItemTemplate="{StaticResource Test}"
ItemsSource="{Binding test}"
x:Name="cboTeam1"
Grid.Column="2" Grid.Row="4"
Margin="0,13,0,12"/>
获取ItemsSource:
cboTeam1.ItemsSource = ItemRepository.getJPLItems();
在我的存储库中:
public static List<TeamItem> getJPLItems()
{
if (JPLItems.Count == 0)
{
JPLItems.Add(new TeamItem() { Id = 1, Description = "Anderlecht", Image = "Jpl/Anderlecht.png", ItemType = ItemType.JupilerProLeague });
JPLItems.Add(new TeamItem() { Id = 1, Description = "Beerschot", Image = "Jpl/Beerschot.png", ItemType = ItemType.JupilerProLeague });
JPLItems.Add(new TeamItem() { Id = 1, Description = "Cercle Brugge", Image = "Jpl/Cercle Brugge.png", ItemType = ItemType.JupilerProLeague });
}
}
所以我的cboTeam1
充满了:“Anderlecht”,“Beerschot”,“Cercle Brugge”。
答案 0 :(得分:1)
Combobox
具有SelectedIndex
属性。通过此属性,您可以在另一页中获取选定的值。我在我的MVVM中使用它。只需将此属性绑定到我ViewModel
中的某个公共属性,然后我就可以在其他地方使用它。此外,这种约束可能是双向的。
答案 1 :(得分:0)
解决了问题:
导航到另一页时,我传递了值:
var selected = cboTeam1.SelectedValue as TeamItem;
getInfo gI = new SportsBetting.Scoreandinvite.getInfo() { Team1 = selected.Description};
Frame.Navigate(typeof(Scoreandinvite), gI);
在另一页上我创建了一个类:
public class getInfo
{
public string Team1
{
get;
set;
}
}
在OnNavigatedTo方法中:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
getInfo gI = (getInfo)e.Parameter;
Team1.Text = gI.Team1;
}