编辑:更新代码
它是如何工作的?
我认为您所寻找的东西实际上并不存在(一种现成且易于使用的预览解决方案),但您始终可以尝试并找到解决方法,如果您失败了,您可以随时询问我们的社区程序员。
我的项目:
MainWindow.Xaml:
<Window x:Class="previewOrSmthn.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:previewOrSmthn"
mc:Ignorable="d"
Title="MainWindow" Height="300" Width="400">
<Grid>
<Image x:Name="imgToPreview" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" MouseDown="imgToPreview_MouseDown"/>
</Grid></Window>
Preview.Xaml:
<Window x:Class="previewOrSmthn.Preview"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:previewOrSmthn"
mc:Ignorable="d"
Title="Preview" Height="250" WindowStartupLocation="CenterOwner" Width="250" ResizeMode="NoResize" WindowStyle="None" ShowInTaskbar="False">
<Grid>
<Image x:Name="imgPreview" Margin="0"/>
</Grid></Window>
MainWindow.Xaml.cs:
public partial class MainWindow : Window
{
string Path = "C:/Users/Public/Pictures/Sample Pictures/Lighthouse.jpg";
Preview prevwnd = new Preview();
public MainWindow()
{
InitializeComponent();
imgToPreview.Source = new BitmapImage(new Uri(Path));
prevwnd = new Preview(Path);
}
protected override void OnClosing(CancelEventArgs e)
{
Application.Current.Shutdown();
}
private void imgToPreview_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ClickCount == 2)
{
prevwnd.Show();
}
}
}
Preview.Xaml.cs:
public partial class Preview : Window
{
DispatcherTimer ThreeSec = new DispatcherTimer();
public Preview()
{
InitializeComponent();
}
public Preview(string imgSource)
{
InitializeComponent();
imgPreview.Source = new BitmapImage(new Uri(imgSource));
imgPreview.Stretch = Stretch.UniformToFill;
ThreeSec.Interval = TimeSpan.FromSeconds(3);
ThreeSec.Tick += ThreeSec_Tick;
Loaded += Preview_Loaded;
}
private void ThreeSec_Tick(object sender, EventArgs e)
{
this.Hide();
}
private void Preview_Loaded(object sender, RoutedEventArgs e)
{
ThreeSec.Start();
}
}
祝你好运!(就像设置所有者一样让它变得更好......等等)我让一切变得简单易懂。如果您有任何问题,请发表评论。