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:
Dev
2026-04-07 12:49:41 +02:00
parent bb9ba9d310
commit 975762dee4

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