zoukankan      html  css  js  c++  java
  • WPF学习笔记:获取ListBox的选中项

    有代码有J8:

    UI

    <UserControl x:Class="UnitViews.UserListUV"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
                 >
    
        <StackPanel Orientation="Vertical">
            <ListBox x:Name="Lst" ItemsSource="{Binding Path=UserList}" BorderBrush="Transparent">
    
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="SelectionChanged">
                        <i:InvokeCommandAction Command="{Binding SelectionChangedCmd}"
                                 CommandParameter="{Binding ElementName=Lst}" />
                    </i:EventTrigger>
                </i:Interaction.Triggers>
    
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid Height="30">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="25"/>
                                <ColumnDefinition Width="220"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Image Source="{Binding Path=StrUrlPath}" Style="{StaticResource UserStatusIcon}" Grid.Column="0" />
                            <TextBlock Text="{Binding Path=StrReMarkName}" Margin="5 0" FontSize="18" Grid.Column="1"></TextBlock>
                            <Image Source="{Binding Path=CmdIcon}" Style="{StaticResource UserCmdIcon}" Grid.Column="2" />
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </StackPanel>
    
    </UserControl>

    VM:

    DelegateCommand<ListBox> _SelectionChangedCmd = null;
    public DelegateCommand<ListBox> SelectionChangedCmd
    {
        get
        {
            if (this._SelectionChangedCmd == null)
            {
                this._SelectionChangedCmd = new DelegateCommand<ListBox>(SelectionChanged);
            }
    
            return this._SelectionChangedCmd;
        }
    }
    void SelectionChanged(ListBox lst)
    {
        SelectedUser = lst.SelectedItem as User;
    }
    //这个就是选中项啦。User是自定义类
    public User SelectedUser { get; set; }
    


  • 相关阅读:
    人与人之间的本质
    如何让百度搜索不到
    js.prototype最深刻的理解
    调用函数不能用&
    浏览器的缓存就是关闭了浏览器任然存在
    Spring switch的使用
    thymeleaf如何遍历数据 each循环的使用
    spring 机制 扫描包
    Spring分层次建包
    如何使用thymeleaf显示控制传递过来的数据
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257908.html
Copyright © 2011-2022 走看看