【问题标题】:Populate Textbox from Listbox Selection | Windows 7 Phone从列表框选择填充文本框 |视窗 7 电话
【发布时间】:2014-04-07 16:27:39
【问题描述】:
问题:
简单地说,列表框中预定义项目的最佳/最简单方法是什么
(如“鲍勃”)
要填充到 Windows 7 Phone 环境中的 TextBox 中?
示例:
如果我从列表框中选择 "Bob" - 那么 "Bob" 应该会立即显示在文本框中
(因此用户无需输入用户名)
..他们可以使用用户名列表中的预制用户名。
问题:
- 我已经尝试寻找这些小东西,但没有找到解决方案。
- 我找到的解决方案非常模糊。
- YouTube 和其他地方的许多视频并未真正涵盖 Windows 7 的这一点
- 我担心 Windows 8 Mobile 有所不同。
- 现在,我的代码无法使用列表框选择填充文本框。
- 相对较新的程序员,试图在 c# 中找到自己的立足点
代码:
我真的不知道该怎么做。我尝试使用名为 SelectionChanged 的内置功能,但没有成功。
【问题讨论】:
标签:
c#
windows
textbox
listbox
populate
【解决方案1】:
你的班级
public class Movie
{
public string Actor { get; set; }
public string Name { get; set; }
}
使用数据创建电影列表。
public class MovieList : List<Movie>
{
public MovieList()
{
Add(new Movie { Name = "Titanic", Actor = "xxx", });
Add(new Movie { Name = "LordOFtheRings", Actor = "yyyy", });
}
}
在 XAML 中,
<ListBox Height="596" Name="listBox1" Width="380" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在你的代码 behind.cs
public MainPage()
{
InitializeComponent();
FillListBox();
}
private void FillListBox()
{
listBox1.ItemsSource = new MovieList();
}
你的文本框应该是
<TextBox Text="{Binding ElementName=listBox1, Path=SelectedValue}"/>