none
WPF 中的数据绑定可不可以把listbox 的项绑定到button?? RRS feed

  • 问题

  • 我想listbox Item绑定到 List<>集合。 然后在listbox控件里显示的每一个项都用Button显示。

    WPF的数据绑定可以实现这种效果吗?

    2012年8月19日 9:01

答案

  • 前台:

            <ListBox Name="listBox" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Button Content="{Binding Path=.}" Click="Button_Click" />
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

    后台:

                List<string> source = new List<string>() { 
                    "A",
                    "BB",
                    "CCC",
                    "DDDD"
                };
                listBox.DataContext = source;

    Button的点击响应:

            private void Button_Click(object sender, RoutedEventArgs e) {
                MessageBox.Show((sender as Button).Content.ToString());
            }

    在ItemTemplate中你可以充分自定义你需要显示的内容和控件形式,这里我简单的绑定了List<string>对象,你可以使用自定义类型,并且绑定不同的Path。


    Wanpeng wanpeng.ones@gmail.com

    2012年8月20日 2:13