[英]c# - wpf - refresh picture between window switching
我有一個簡單的wpf應用程序,其中包含2個窗口:MainMenu和PictureWindow。 在MainMenu中,我有一個帶有單擊事件的按鈕,可打開圖片窗口:
private void btnOpenPicWindow_Click(object sender, RoutedEventArgs e)
{
var picWindow = new PictureWindow();
Application.Current.MainWindow = picWindow;
Close();
picWindow.Show();
}
在PictureWindow中,我具有帶有PictureBox
WindowsFormsHost
。 在PictureWindow中,我收到從另一個應用程序發送的圖像,並將其顯示在PictureBox
。 PictureWindow還有一個帶有單擊事件的按鈕,它可以像下面這樣返回到MainMenu:
private void btnBack_Click(object sender, RoutedEventArgs e)
{
var mMenu = new MainWindow();
System.Windows.Application.Current.MainWindow = mMenu;
Close();
mMenu.Show();
}
當我打開MainWindow然后是PictureWindow時,一切正常。 問題是當我從PictureWindow返回MainMenu,然后再次回到PictureWindow,並且如果我將圖片發送到PictureBox
它不會刷新。 我收到圖像是因為在調試過程中看到了它,但是我的PictureBox
是空白的。
每次單擊MainWindow上的按鈕時,都應嘗試用圖片重新初始化窗口。
如果要使用異步或同步方法加載圖像,可以更改LoadAsync
for Load
。
WPF PictureWindow:
<Window x:Class="WpfApplication2.PictureWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="PictureWindow" Height="300" Width="300"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" Loaded="Window_Loaded">
<Grid>
<WindowsFormsHost Height="100" HorizontalAlignment="Left" Margin="12,12,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" Width="200">
<wf:PictureBox x:Name="pbImage" SizeMode="AutoSize"></wf:PictureBox>
</WindowsFormsHost>
</Grid>
</Window>
C#PictureWindow:
public partial class PictureWindow : Window
{
public string imgsrc = string.Empty;
public PictureWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
pbImage.LoadAsync(imgsrc);
}
}
C#MainWindow:
public partial class MainWindow : Window
{
PictureWindow window;
public MainWindow()
{
InitializeComponent();
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
window = new PictureWindow();
window.imgsrc = textBox1.Text.Trim(); //Here you update your "Source" for your image.
window.Show();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.