Chinaunix首页 | 论坛 | 博客
  • 博客访问: 827170
  • 博文数量: 190
  • 博客积分: 2991
  • 博客等级: 少校
  • 技术积分: 2400
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-24 18:11
文章分类

全部博文(190)

文章存档

2015年(3)

2014年(1)

2013年(65)

2012年(121)

我的朋友

分类: 系统运维

2013-01-12 10:56:47

先上效果图:
 
思路:
 
1.从ChildWindow派生一个子类MyChildWindow
2.对MyChildWindow添加一个图片属性:Source
3.然后从用MyChildWindow创建一个TestChildWindow的XAML
4.重新定义样式,添加一个Image对象将Source和Image进行绑定
5.将定义的样式移植给MyChildWindow类
6.完工
 
1.从ChildWindow派生一个子类MyChildWindow
 
2.对MyChildWindow添加一个图片属性:Source
 
代码如下:
public class MyChildWindow:ChildWindow  
{  
    public MyChildWindow()  
    {  
                }  
       public static DependencyProperty SourceProperty = DependencyProperty.Register("Source", typeof(ImageSource), typeof(MyChildWindow),null);  
       public ImageSource Source  
       {  
           get { return ((ImageSource)(base.GetValue(MyChildWindow.SourceProperty))); }  
           set { base.SetValue(MyChildWindow.SourceProperty, value); }  
       }  
}  
 
3.然后从用MyChildWindow创建一个TestChildWindow的XAML
XAML:
           xmlns=""   
           xmlns:x=""   
             
           xmlns:controls="clr-namespace:SilverlightApplication1"  
           Width="400" Height="300"   
           Title="ChildWindow2" Source="/SilverlightApplication1;component/images/1.png">  
     
         
             
             
         
  
       
       
     
 
 
CS:
 
public partial class ChildWindow2 : MyChildWindow  
{  
    public ChildWindow2()  
    {  
        InitializeComponent();  
    }  
    private void OKButton_Click(object sender, RoutedEventArgs e)  
    {  
        this.DialogResult = true;  
    }  
    private void CancelButton_Click(object sender, RoutedEventArgs e)  
    {  
        this.DialogResult = false;  
    }  
}  
 
4,修改样式使用Blend进行修改:如下图
 

 
 绑定图片Source
 
 
 
5.将定义的样式移植给MyChildWindow类
 
项目中创建Theme目录并创建Generic.xaml文件
将刚才的样式复制到Generic.xaml中更改一下TargetType="local:MyChildWindow"
更新一下MyChildWindow类的构造函数:
 
public MyChildWindow()  
        {  
            this.DefaultStyleKey = typeof(MyChildWindow);  
        }  
6.以后使用就先创建一个ChildWindow将XAML和CS代码简单修改一下就可以了!
原文参考自站长网
阅读(840) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~