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; }
    


  • 相关阅读:
    CodeForces
    [AHOI 2013] 差异
    BZOJ
    [校内训练20_09_15]ABC
    [校内训练20_09_10]ABC
    [校内训练20_09_08]AC
    fastIO
    [校内训练20_06_05]ABC
    [校内训练20_06_04]ABC
    [校内训练20_06_03]ABC
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257908.html
Copyright © 2011-2022 走看看