feat(07-05): create UserAccessAuditView code-behind
- UserControl with UserAccessAuditViewModel constructor injection, sets DataContext - Wires SearchResults.CollectionChanged to show/hide autocomplete ListBox - OnSearchResultClicked handler invokes AddUserCommand for mouse-based user selection
This commit is contained in:
41
SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml.cs
Normal file
41
SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml.cs
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
using System.Collections.Specialized;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using SharepointToolbox.ViewModels.Tabs;
|
||||||
|
|
||||||
|
namespace SharepointToolbox.Views.Tabs;
|
||||||
|
|
||||||
|
public partial class UserAccessAuditView : UserControl
|
||||||
|
{
|
||||||
|
public UserAccessAuditView(UserAccessAuditViewModel viewModel)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
DataContext = viewModel;
|
||||||
|
|
||||||
|
// Show/hide the autocomplete list as SearchResults changes
|
||||||
|
viewModel.SearchResults.CollectionChanged += OnSearchResultsChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnSearchResultsChanged(object? sender, NotifyCollectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (DataContext is UserAccessAuditViewModel vm)
|
||||||
|
{
|
||||||
|
SearchResultsList.Visibility = vm.SearchResults.Count > 0
|
||||||
|
? Visibility.Visible
|
||||||
|
: Visibility.Collapsed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Handles click on a search result item in the autocomplete list.
|
||||||
|
/// Invokes AddUserCommand on the ViewModel and hides the list.
|
||||||
|
/// </summary>
|
||||||
|
private void OnSearchResultClicked(object sender, System.Windows.Input.MouseButtonEventArgs e)
|
||||||
|
{
|
||||||
|
if (sender is ListBoxItem item && DataContext is UserAccessAuditViewModel vm)
|
||||||
|
{
|
||||||
|
vm.AddUserCommand.Execute(item.DataContext);
|
||||||
|
// AddUserCommand clears SearchResults so CollectionChanged will hide the list
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user