WPF學習筆記 獲取ListBox的選中項
阿新 • • 發佈:2018-11-14
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
有程式碼有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; }