【发布时间】:2013-11-29 18:53:43
【问题描述】:
我有一个列表框,其中每行列表框包含 2 个文本块和 2 个按钮。 每当我单击任何列表框行的第一个按钮时,它将显示列表框中该行的第一个文本块的文本,并且每当我单击列表框任何行的第二个按钮时,它都会说出该行的第一个文本块的文本。 考虑下面的列表框图片。如果我单击第二行的星形按钮,它将显示“sedulous”,如果我单击最后一行的扬声器按钮,它将显示“underbid”。 我怎样才能做到这一点??? 我的列表如下所示:
我在 xaml 中的列表框设计如下所示:
<ListBox x:Name="listBox1" FontSize="26" Width="400" Height="Auto" HorizontalContentAlignment="Stretch" SelectionChanged="listBox1_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Eng}" Width="150"/>
<Button Content="" Height="Auto" Name="b1" Width="100" BorderThickness="0" Background="DarkGreen" />
<Button Content="" Height="Auto" Name="b2" Width="100" BorderThickness="0" Background="DarkGreen" />
</StackPanel>
<TextBlock Text="{Binding Path=Bng}" Width="150"/>
<Rectangle Height="2" Width="400" Fill="YellowGreen" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我列出的代码是:
List<dataLists> mylist = new List<dataLists>();
string word = textBox1.Text;
if (db != null)
{
var contacts = (from m in db.Dics where m.English.StartsWith(word) select new { m.English, m.Bangla }).Take(5);
string s1, s2;
try
{
foreach (var a in contacts)
{
s1 = a.English;
s2 = a.Bangla;
mylist.Add(new dataLists() { Eng = s1, Bng = s2 });
}
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
listBox1.ItemsSource = mylist;
谁能解决这个问题?
【问题讨论】:
标签: windows-phone-7 windows-phone-8 listbox windows-phone