mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 15:40:18 -04:00
Additional fields rendering done
Removed lots of unused classes
This commit is contained in:
43
WinAppCommon/Controls/SelectableTemplateListView.cs
Normal file
43
WinAppCommon/Controls/SelectableTemplateListView.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
|
||||
namespace ModernKeePass.Controls
|
||||
{
|
||||
public class SelectableTemplateListView: ListView
|
||||
{
|
||||
public DataTemplate SelectedItemTemplate
|
||||
{
|
||||
get { return (DataTemplate)GetValue(SelectedItemTemplateProperty); }
|
||||
set { SetValue(SelectedItemTemplateProperty, value); }
|
||||
}
|
||||
public static readonly DependencyProperty SelectedItemTemplateProperty =
|
||||
DependencyProperty.Register(
|
||||
nameof(SelectedItemTemplate),
|
||||
typeof(DataTemplate),
|
||||
typeof(PasswordBoxWithButton),
|
||||
new PropertyMetadata(null, (o, args) => { }));
|
||||
|
||||
public SelectableTemplateListView()
|
||||
{
|
||||
SelectionChanged += SelectableTemplateListView_SelectionChanged;
|
||||
}
|
||||
|
||||
private void SelectableTemplateListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
var listView = sender as ListView;
|
||||
if (listView == null) return;
|
||||
|
||||
foreach (var item in e.AddedItems)
|
||||
{
|
||||
var listViewItem = listView.ContainerFromItem(item) as ListViewItem;
|
||||
if (listViewItem != null) listViewItem.ContentTemplate = SelectedItemTemplate;
|
||||
}
|
||||
//Remove DataTemplate for unselected items
|
||||
foreach (var item in e.RemovedItems)
|
||||
{
|
||||
var listViewItem = listView.ContainerFromItem(item) as ListViewItem;
|
||||
if (listViewItem != null) listViewItem.ContentTemplate = ItemTemplate;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user