如何控制浏览按钮的点击次数?

时间:2014-06-19 06:36:43

标签: c# wpf

我有一个浏览按钮和两个空图像(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?我不确定!

哦,这样做的目的是创建一个界面,让用户浏览列表框中显示的不同图像,当用户点击每个图像时,它会显示在另一个窗口中,用户可以放大和缩小等等。

但是现在我只是坚持我项目的这一小部分!

1 个答案:

答案 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,因此您可以设置第一张图片。

第二个(以及第三个,第四个等...),_ImageOneSettrue,因此您将设置第二个图像。