源码要点核心:生成添加水印文字后的图片。
源码要点1:初始屏幕中的按钮,在打开图片前显示,存在已打开图片后隐藏,类似QQ影音。
这里自定义了一个转换器,如果Image的Source属性为null,则按钮的Visibility属性为Visible,否则为Collapsed。
接着,把这个转换器用到Binding中,对按钮进行绑定。
源码要点2:“打开”和“保存”对话框。
WPF中没有这些对话框组件,但是,我们不要忘了,在WinForm里面,有OpenFileDialog类和SaveFileDialog类。
但是,System.Windows.Forms命名空间下,个别类型的名字与System.Windows命名空间下的类型名字相同,也就是说,WinForm中用到的许多类和WPF中的类名字相同,但它们是不同逻辑的,所以,在引入命名空间的时候,应当使用别名,这样在代码中使用的时候就不会发生冲突了。
所以,在保存文件的时候,我们可以这样写代码。
源码要点3:如何取得程序标题和版本号。
程序标题栏上的文字是在运行后动态生成的,可以通过反射技术,在窗口类构造函数中设置。
我们先为窗口类定义两个公共属性,分别用来取得程序标题和版本号。