C#/ WPF:在jQuery中像LightBox一样显示图像?

时间:2009-11-18 13:12:42

标签: c# jquery wpf lightbox

有没有人试图创建一个jQuery“LightBox”-Like“Popup”(WPF UserControl)来显示图像? 请参阅此页面以获取示例:http://www.huddletogether.com/projects/lightbox2/

谢谢!

2 个答案:

答案 0 :(得分:9)

这是一个似乎已经完成它的网站,但它只有0.5版本,可能会在1.0之前发生巨大变化:
http://leandrovieira.com/projects/jquery/lightbox/#

这应该是您正在寻找的,以下是他们要实现的代码示例:

$(function() {
    $('#gallery a').lightBox({fixedNavigation:true});
});

我希望这有帮助,

谢谢!


编辑:

很抱歉,我没有完全理解您在第一个问题中的内容。这是您的问题的更新答案(包含代码/来源)。

首先,我创建了一个控件,它将充当模式对话框,在后台渲染所有内容。然后我添加了将图片放在那里的能力,并增加了对每张图片进行评论的能力。以下是最终产品的图片:

第一张图片已加载: First Image Loaded http://img682.imageshack.us/img682/8941/firstpictureopen.jpg

第二张图片淡入: Second Image Fading In http://img5.imageshack.us/img5/3172/secondpicturefading.jpg

第二张图片已加载: Second Image Loaded http://img682.imageshack.us/img682/5404/secondpictureopen.jpg

我还添加了动画来调整图像大小,就像Lightbox项目一样。我添加了具有前进和后退按钮,加速键,前进和后退箭头控制以及退出退出的功能。我想我已经捕获了你在这个控件中寻找的东西。

像往常一样,我已将完整的源代码上传到Google Code以供下载。

zip文件的直接链接如下:
http://stackoverflow-answers-by-scott.googlecode.com/files/1755872.zip

我希望这有帮助,

谢谢!

答案 1 :(得分:4)

复制您链接的功能在WPF中绝对是微不足道的。只是:

  1. 使用UserControl类型的ItemList属性创建IEnumerable<ImageSource>
  2. Popup添加到UserControl
  3. Grid添加到Popup,以您希望的方式布置LightBox,包括ImageTextBlockButton <的面板/ LI>
  4. 添加由动态更改的StoryBoard事件触发的Loaded
  5. 单击按钮时,使用EventTriggerPopup的{​​{1}}属性设置为false
  6. IsOpen绑定到Image.Source以显示ItemList中的当前项目
  7. 在运行代码隐藏的{Binding ItemList/}的每一侧添加Background="Transparent"矩形,以更改Grid
  8. 中的当前项
  9. 可选择在重置当前项目时重复ItemList