0

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"/>

获取项目来源:

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”。

4

2 回答 2

1

Combobox有财产SelectedIndex。通过此属性,您可以在另一个页面中获取选定的值。我在我的 MVVM 中使用它。只需将此属性绑定到我的一些公共属性ViewModel,然后我就可以在其他地方使用它。此外,这种绑定可以是两种方式。

于 2013-05-01T08:51:12.757 回答
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;
    }
于 2013-05-01T20:26:26.753 回答