【发布时间】:2016-07-30 07:26:07
【问题描述】:
当从另一个 xaml(菜单)中选择项目时,我要做的基本上是在一个 xaml(篮子)中使用项目名称填充文本框。我的代码如下:
Menu.xaml
在这里,当我单击一个按钮时,我希望它自动出现在 Basket.xaml 的文本框中。
public class PassedData
{
public string Name { get; set; }
public int Value { get; set; }
}
private void Vanbtn_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(Basket), new PassedData { Name = "Cheese" });
}
private void LCbtn_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(Basket), new PassedData { Name = "Crisp" });
}
Basket.xaml
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Menu.PassedData data = e.Parameter as Menu.PassedData;
/** ItemChosentxt.Text = data.Name;
ItemChosentxt2.Text = data.Name;
ItemChosentxt3.Text = data.Name;
ItemChosentxt4.Text = data.Name;**/
}
注释掉的部分添加了所选项目的名称。而不是只添加到一个文本框,而是添加到所有文本框。即,如果我在 Menu.xaml 中选择 vanilla btn,则名称会出现在所有 4 个文本框中,而不仅仅是一个。所以我决定在每个文本框中实现代码:
private void ItemChosentxt_TextChanged(object sender, TextChangedEventArgs e)
{
Menu.PassedData data = e.Parameter as Menu.PassedData;
ItemChosentxt.Text = data.Name;
}
private void SecItem_TextChanged(object sender, TextChangedEventArgs e)
{
Menu.PassedData data = e.Parameter as Menu.PassedData;
SecItem.Text = data.Name;
}
这会在 e.Parameter 下面显示一个错误,错误代码是 -
Severity Code Description Project File Line Suppression State
Error CS0103 The name 'data' does not exist in the current context
和
Severity Code Description Project File Line Suppression State
Error CS1061 'TextChangedEventArgs' does not contain a definition for 'Parameter' and no extension method 'Parameter' accepting a first argument of type 'TextChangedEventArgs' could be found (are you missing a using directive or an assembly reference?)
我正在开发一个购物应用程序,例如如果用户从菜单中选择“香草”和“蛋糕”,我怎样才能使名称显示在篮子文本框中?我是应用程序开发的新手,并为这个冗长的问题道歉。
【问题讨论】:
标签: c# xaml windows-phone-8.1 windows-phone