This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
<base:BaseView x:Class="CachedItemsList.CachedItemsListView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:strings="clr-namespace:CachedItemsList"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="768" d:DesignWidth="1366"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit">
<base:BaseView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Controls/combobox.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="ListView">
<Setter Property="ItemContainerStyle" Value="{StaticResource TTS_ListViewItemStyle}"/>
</Style>
<Style TargetType="TextBox" BasedOn="{StaticResource TTS_TextBoxStyle}"/>
<Style TargetType="TextBlock" BasedOn="{StaticResource TTS_TextBlockStyle}"/>
<Style TargetType="CheckBox" BasedOn="{StaticResource PageContentCheckBoxStyle}" />
<Style TargetType="ComboBox" BasedOn="{StaticResource TTS_ComboBoxStyle}"/>
<Style TargetType="Button" BasedOn="{StaticResource TTS_ButtonStyle}"/>
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource Gray_GridViewColumnHeaderStyle}"/>
<BooleanToVisibilityConverter x:Key="BoolToVisibility" />
</ResourceDictionary>
</base:BaseView.Resources>
<Grid Background="{DynamicResource Brush_ApplicationContentBackground}">
<ListView ItemsSource="{Binding CachedItems, UpdateSourceTrigger=PropertyChanged}" AutomationProperties.AutomationId="CachedItemsListView" >
<ListView.View>
<GridView AutomationProperties.AutomationId="CachedItemsListGridView">
<GridViewColumn AutomationProperties.AutomationId="Name">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="Name" Content="{strings:TranslateExtension Name}" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding Name,FallbackValue='Name'}" AutomationProperties.AutomationId="NameLbl"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ObjectType">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="ObjectType" Content="{strings:TranslateExtension ObjectType}" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding ObjectType,FallbackValue='Type'}" AutomationProperties.AutomationId="ObjectTypeLbl"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CacheTime">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="CacheTime" Content="{strings:TranslateExtension CacheTime}" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding CacheTime,FallbackValue='CacheTime'}" AutomationProperties.AutomationId="CacheTimeLbl"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="DbTime">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="DbTime" Content="{strings:TranslateExtension DBTime}" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding DBTime,FallbackValue='DBTime'}" AutomationProperties.AutomationId="DbTimeLbl" x:Name="DbTimeLbl"/>
<ItemContainerTemplate.Triggers>
<DataTrigger Binding="{Binding}" Value="{x:Static sys:DateTime.MinValue}">
<Setter TargetName="DbTimeLbl" Property="Text" Value="{strings:TranslateExtension Deleted}" />
</DataTrigger>
</ItemContainerTemplate.Triggers>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</base:BaseView>

View File

@@ -0,0 +1,71 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Media;
using DTS.Common.Interface.TestSetups.CachedItemsList;
// ReSharper disable CheckNamespace
namespace CachedItemsList
{
/// <inheritdoc cref="ICachedItemsListView" />
/// <summary>
/// Interaction logic for CachedItemsListView.xaml
/// </summary>
public partial class CachedItemsListView : ICachedItemsListView
{
public CachedItemsListView()
{
InitializeComponent();
}
//private void ListViewHeader_Click(object sender, System.Windows.RoutedEventArgs e)
//{
// var colHeader = (GridViewColumnHeader)e.OriginalSource;
// var viewModel = (ICachedItemsListViewModel)colHeader.DataContext;
// viewModel.Sort(colHeader.Tag, true);
//}
//private void MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
//{
// var lv = sender as ListView;
// if (null == lv)
// {
// return;
// }
// var index = GetCurrentIndex(e.GetPosition, lv);
// if (index >= 0 && index < lv.Items.Count)
// {
// var vm = (ICachedItemsListViewModel) lv.DataContext;
// vm.MouseDoubleClick(index);
// }
//}
//delegate Point GetPositionDelegate(IInputElement element);
//private int GetCurrentIndex(GetPositionDelegate getPosition, ListView lv)
//{
// int index = -1;
// for (int i = 0; i < lv.Items.Count; i++)
// {
// ListViewItem item = GetListViewItem(i, lv);
// if (item == null)
// continue;
// if (IsMouseOverTarget(item, getPosition))
// {
// index = i;
// break;
// }
// }
// return index;
//}
//private ListViewItem GetListViewItem(int index, ListView lv)
//{
// return lv.ItemContainerGenerator.ContainerFromIndex(index) as ListViewItem;
//}
//private bool IsMouseOverTarget(Visual target, GetPositionDelegate getPosition)
//{
// Rect bounds = VisualTreeHelper.GetDescendantBounds(target);
// Point mousePos = getPosition((IInputElement)target);
// return bounds.Contains(mousePos);
//}
}
}