I don't think there is a way to display certain Images only using Explorer, However you coul just add them to a ListBox and open the file on DoubleClick.
Rough WPF Example:
Code:
using System;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace WpfApplication13
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window, INotifyPropertyChanged
{
private ObservableCollection<string> _files = new ObservableCollection<string>();
private string _selectedFile;
public MainWindow()
{
InitializeComponent();
foreach (var file in Directory.GetFiles(@"C:\"))
{
Files.Add(file);
}
}
void Item_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
Process.Start(SelectedFile);
}
public ObservableCollection<string> Files
{
get { return _files; }
set { _files = value; }
}
public string SelectedFile
{
get { return _selectedFile; }
set { _selectedFile = value; NotifyPropertyChanged("SelectedFile"); }
}
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Xaml:
<Window x:Class="WpfApplication13.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="400" Width="400" Name="UI" WindowStartupLocation="CenterScreen">
<Grid DataContext="{Binding ElementName=UI}">
<ListBox ItemsSource="{Binding Files}" SelectedItem="{Binding SelectedFile}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<EventSetter Event="MouseDoubleClick" Handler="Item_MouseDoubleClick" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="Margin" Value="2" />
</Style>
</ListBox.Resources>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel IsItemsHost="True" ItemHeight="50" ItemWidth="50" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}" Margin="2"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>
Result: