Windows手机列表框中的按钮操作

时间:2013-11-29 18:53:44

标签: windows-phone-7 windows-phone-8 listbox windows-phone

我有一个列表框,列表框的每一行包含2个文本块和2个按钮。 每当我单击列表框中任何一行的第一个按钮,它将从列表框中显示该行的第一个文本块的文本,每当我单击列表框的任何行的第二个按钮时,它将说出该行的第一个文本块的文本。 考虑列表框的下方图片。如果我点击第二行的星形按钮,它将显示“sedulous”,如果我点击最后一行的扬声器按钮,它将说“低于”。 我怎样才能做到这一点??? 我的列表如下所示:

enter image description here

我在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;

任何人都可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

你可以在按钮的onclick事件中轻松管理它,将标记设置为textblock的文本和

onclick事件中的

textbox.text =(发件人为按钮).Tag.Tostring()