微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在.xaml文件(Silverlight)中指定不同的基类?

如何在.xaml文件中为单独的Silverlight页面类指定一个公共基类?我有几个常见的属性,我想要跨页面共享,但是我不知道如何做,而不需要手动更改每个生成的.g.cs文件中的基类.

这可能吗?我认为这是可能的,因为例如Toolkit中的ChildControl来自不同的类.我是否俯视一些明显的东西?

解决方法

认情况下,所有Silverlight“页面”实际上都是从UserControl派生的.所以,这是你需要做的.简单的例子,当然你可能想要声明依赖属性,事件等等.

1.创建具有公共属性的类

public class YourUserControlBase : UserControl
{
    public bool SomeProperty {get; set; }
}

2.创建/修改页面的XAML

为包含新基类的本地程序集和命名空间添加XML命名空间,并记住将x:Class属性保留在文件的顶部,但将UserControl根元素修改为本地名称

这是我更新的文件

<local:YourUserControlBase
xmlns:local="clr-namespace:SilverlightApplication1"
x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">

        
    

修改代码隐藏

(Page.xaml.cs文件,而不是自动生成的)正确继承自YourUserControlBase:

public partial class MainPage : YourUserControlBase
{
    public MainPage()
    {
        InitializeComponent();
    }
}

应该是!祝你好运.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐