繁体   English   中英

如何获取listboxitem在listbox保持事件上的值?

[英]how to get listboxitem's value on listbox hold event?

xmal代码:

<ListBox x:Name="listbox2" Margin="0,0" SelectionChanged="listbox2_SelectionChanged" Hold="listbox2_Hold" >

                    <ListBox.ItemContainerStyle >
                        <Style TargetType="ListBoxItem">
                            <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                        </Style>
                    </ListBox.ItemContainerStyle>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <Border BorderThickness="0,0,0,1" BorderBrush="Gray">
                                <Grid Width="auto" HorizontalAlignment="Stretch" >
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="150"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <TextBlock VerticalAlignment="Center" FontSize="40" Grid.Column="1"  Grid.Row="0"  Foreground="White" Text="{Binding NAME}"></TextBlock>
                                    <TextBlock VerticalAlignment="Center" FontSize="25" Grid.Column="1" Grid.Row="1" Foreground="Blue" Text="{Binding PHONE}"></TextBlock>
                                    <Image  Name="c1" HorizontalAlignment="Left" VerticalAlignment="Top" Width="100" Height="100" Stretch="Fill" Margin="0" Source="{Binding IMGS}" Grid.RowSpan="2" Grid.Column="0" />

                                </Grid>
                            </Border>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

绑定到列表框的类列表是List <contactsclass> contacts = new List <contactsclass>(); PHONE和NAME是contactclass变量的获取方法

我如何获取列表框的保持事件的变量值。

 private void listbox2_Hold(object sender, System.Windows.Input.GestureEventArgs e)
    {

         //contextmenucontact = (contactsclass)(sender as ListBox).DataContext;
           contextmenucontact = (contactsclass)listbox2.SelectedItem;


         MessageBox.Show(contextmenucontact.name);

      }

如果只是所选项目只是使用ToString函数,请参见以下内容:

        if (listBox1.SelectedItem != null)
        {
            string itemText = listBox1.SelectedItem.ToString();
            contextmenucontact = new contactsclass();
            contextmenucontact.name = itemText;
            MessageBox.Show(contextmenucontact.name);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM