我有一个浏览按钮和两个空图像(image1,image2)。我想先点击浏览按钮并将图像加载到(image1)。在第二次单击时,我想将图像加载到(image2)。
我对WPF和C#都很新。我想我需要一些方法来控制按钮的点击次数?有没有人对此有任何想法?我将非常感激。
这是我尝试的代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog fd = new OpenFileDialog();
fd.DefaultExt = ".tif";
fd.Filter = "(*.tif,*.tiff)|*.tif;*.tiff";
fd.ShowDialog();
string fname = fd.FileName;
textBox1.Text = fname;
image1.Source = new BitmapImage(new Uri(fd.FileName));
}
此后,第一张图像显示在image1中,但是当我浏览另一张图像时,它出现在图像1的顶部,而不是在图像2中。如何使我浏览的第二张图像显示在image2中?也许是这样的,如果按钮已被点击一次,那么图像应该加载到image2?或者如果image1已经满了,那么加载到image2?我不确定!
哦,这样做的目的是创建一个界面,让用户浏览列表框中显示的不同图像,当用户点击每个图像时,它会显示在另一个窗口中,用户可以放大和缩小等等。
但是现在我只是坚持我项目的这一小部分!
答案 0 :(得分:2)
虽然我质疑你为什么要做这样的事情,但你可以使用以下内容。另外,请在下次展示一些努力。这是一个相对简单的解决方案!
private bool _ImageOneSet;
public MainWindow()
{
InitializeComponent();
_ImageOneSet = false;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
if (!_ImageOneSet)
{
// set image one
_ImageOneSet = true;
}
else
{
// set image two
}
}
我使用设置为false的私有字段。第一次触发button_click事件时,_ImageOneSet
仍为false
,因此您可以设置第一张图片。
第二个(以及第三个,第四个等...),_ImageOneSet
为true
,因此您将设置第二个图像。