<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      WPF DataGrid多選行數據并綁定屬性

        在WPF的第三方控件UI庫中,有些DataGrid實現了但是又有一些沒實現多選行綁定數據。所有我現在通過附加屬性來實現。

        首先,實現DataGrid多選附加屬性類

          /// <summary>
          /// DataGrid多選附加屬性
          /// </summary>
          public class DataGridSelectedItemsBehavior : Behavior<DataGrid>
          {
              public IList SelectedItems
              {
                  get => (IList)GetValue(SelectedItemsProperty);
                  set => SetValue(SelectedItemsProperty, value);
              }
      
              public static readonly DependencyProperty SelectedItemsProperty =
                  DependencyProperty.Register(
                      nameof(SelectedItems),
                      typeof(IList),
                      typeof(DataGridSelectedItemsBehavior),
                      new PropertyMetadata(null));
      
              protected override void OnAttached()
              {
                  base.OnAttached();
                  AssociatedObject.SelectionChanged += DataGrid_SelectionChanged;
              }
      
              protected override void OnDetaching()
              {
                  base.OnDetaching();
                  AssociatedObject.SelectionChanged -= DataGrid_SelectionChanged;
              }
      
              private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
              {
                  SelectedItems = AssociatedObject.SelectedItems;
              }
          }

       

      ViewModel實現,這里我使用了CommunityToolkit.Mvvm來與界面交互,你可以自行選擇。

          public class MainViewModel : ObservableObject
          {
      
              [ObservableProperty]
              private ObservableCollection<ClassA> items = new();
              [ObservableProperty]
              private IList selectedItems = newArrayList();
      
              [RelayCommand]
              private void ExcuteConfirm()
              {
                  foreach (var item in SelectedItems.Cast<ClassA>())
                  {
      
                  }
              }
          }

       

      其中DataGrid要把SelectionMode設置為Extended(表示可以多個選中),SelectionUnit設置為FullRow(表示完整行可以選中,單擊單元格都會選中該行)。在XAML中使用之前你先看看你是否通過NuGet安裝Microsoft.Xaml.Behaviors.Wpf。

      <!-- 引用命名空間 Local 是你附加屬性類所在的文件位置-->
      xmlns:i="http://schemas.microsoft.com/xaml/behaviors" 
      xmlns:local="clr-namespace:YourNamespace.Behaviors"
       
      <!-- DataGrid定義 -->
      <DataGrid ItemsSource="{{Binding Items}}" SelectionMode="Extended" SelectionUnit="FullRow">
          <i:Interaction.Behaviors>
              <local:DataGridSelectedItemsBehavior
                  VisibleItems="{{Binding SelectedItems, Mode=OneWayToSource}}"/>
          </i:Interaction.Behaviors>
      </DataGrid>
      posted @ 2025-03-10 16:58  FalyEnd  閱讀(552)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品综合一区二区在线| 激情综合五月丁香亚洲| 99国产精品自在自在久久| 精选国产av精选一区二区三区| 少妇人妻偷人免费观看| 国产精品大全中文字幕| 四虎在线成人免费观看| 国产乱子伦农村xxxx| 2020年最新国产精品正在播放| 日本喷奶水中文字幕视频| 亚洲午夜性猛春交XXXX| 极品白嫩少妇无套内谢| 在线观看免费网页欧美成| 亚洲成人av综合一区| 亚洲中文字幕无码专区| 亚洲精品在线二区三区| 精品少妇后入一区二区三区 | 国产毛片精品一区二区色| 国产AV无码专区亚洲AV漫画| 亚洲中文字幕日产无码成人片 | 波多野结衣网站| 大色综合色综合网站| 九色精品国产亚洲av麻豆一| 久久亚洲国产品一区二区| 国产亚洲欧美在线观看三区| 永久免费无码av在线网站| 麻豆成人久久精品二区三| 日韩精品av一区二区三区| 国产亚洲精品在av| 亚洲午夜av一区二区| yy111111少妇无码影院| 久久国产精品乱子乱精品| brazzers欧美巨大| 精品国产一区二区三区蜜臀| 国产亚洲人成网站观看| 国产精品天干天干综合网| 成人看的污污超级黄网站免费| 国产精品日日摸夜夜添夜夜添2021| 亚洲国产精品综合久久20| 国产精品国三级国产av| 成人久久精品国产亚洲av|