给Silverlight中的ChildWindow添加图标

先上效果图:


思路:

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:

<controls:MyChildWindow x:Class="SilverlightApplication1.ChildWindow2"
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
           
           xmlns:controls="clr-namespace:SilverlightApplication1"
           Width="400" Height="300" 
           Title="ChildWindow2" Source="/SilverlightApplication1;component/images/1.png">
    <Grid x:Name="LayoutRoot" Margin="2">
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <Button x:Name="CancelButton" Content="取消" Click="CancelButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,0,0" Grid.Row="1" />
        <Button x:Name="OKButton" Content="确定" Click="OKButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,79,0" Grid.Row="1" />
    </Grid>
</controls:MyChildWindow>

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;
        }
    }

 

修改样式使用Blend进行修改:如下图


 绑定图片Source

 

5.将定义的样式移植给MyChildWindow类

项目中创建Theme目录并创建Generic.xaml文件

将刚才的样式复制到Generic.xaml中更改一下TargetType="local:MyChildWindow"

更新一下MyChildWindow类的构造函数:

public MyChildWindow()
		{
            this.DefaultStyleKey = typeof(MyChildWindow);
		}

6.以后使用就先创建一个ChildWindow将XAML和CS代码简单修改一下就可以了!


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值