C# WPF直接在屏幕上显示元素
我知道有一种方法可以在屏幕上直接显示图像中的元素,与应用程序无关。 我相信你可以间接控制系统的图形部分。 有时,如果服务启动并隐藏在后台,您会看到它 我想在屏幕上显示一个图像对象几秒钟作为预览 它是如何工作的?编辑:更新的代码 它是如何工作的 我不认为你想要的是一个现成的、易于使用的预览解决方案,但是你可以尝试找到一个解决方案,如果你失败了,那么你可以询问我们的程序员社区 我的项目: MainWindow.Xaml:C# WPF直接在屏幕上显示元素,c#,wpf,image,screen,preview,C#,Wpf,Image,Screen,Preview,我知道有一种方法可以在屏幕上直接显示图像中的元素,与应用程序无关。 我相信你可以间接控制系统的图形部分。 有时,如果服务启动并隐藏在后台,您会看到它 我想在屏幕上显示一个图像对象几秒钟作为预览 它是如何工作的?编辑:更新的代码 它是如何工作的 我不认为你想要的是一个现成的、易于使用的预览解决方案,但是你可以尝试找到一个解决方案,如果你失败了,那么你可以询问我们的程序员社区 我的项目: MainWindow.Xaml: <Window x:Class="previewOrSmthn.Main
<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.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();
}
}
}
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();
}
}
祝你从这里开始好运!为了让事情变得更好,比如设置所有者等等,我让一切变得简单易懂。如果您有问题,请发表评论。我认为您对闪屏的概念感到困惑,闪屏肯定是应用程序的一部分。不,我没有。我知道闪屏。我不想在应用程序启动时只启动一次。我希望在每次点击图像时都能看到它,您将直接在屏幕上看到更大尺寸的图像。请改进您想要实现的目标的描述。您以前在哪里看到过这一点?为什么不创建一个窗口(可能是无边框窗口)并在其中显示预览图像?
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();
}
}