2011-06-29 30 views

回答

6

创建三个文件刚开始时,首先将“代码隐藏” cs文件被创建为一个简单的类: -

public class MyCommonUserControl : UserControl 
{ 

} 

注意它有没有InitializeComponent电话。

现在创建一个新UserControl然后修改它的XAML看起来像这样: -

<local:MyCommonUserControl x:Class="YourApp.FirstMyCommonUserControl " 
    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" 
    xmlns:local="clr-namespace:YourApp" 
    mc:Ignorable="d" 
    d:DesignHeight="300" d:DesignWidth="400"> 

    <Grid x:Name="LayoutRoot" Background="White"> 

    </Grid> 

</local:MyCommonUserControl > 

注意添加xmlns:local别名指向您的应用程序的命名空间,则UserControl标签的基地控制权发生变化,我们其实想。

你会修改.xaml.cs这样: -

public partial class FirstMyCommonUserControl : MyCommonUserControl 
{ 
    public FirstMyCommonUserControl() 
    { 
     InitializeComponent(); 
    } 
} 

这是所有的.xaml.cs需要包含。

然后,您可以重复这一过程,SecondMyCommonUserControl等。将所有常见的代码在基类MyCommonUserControl

其可惜的MS并没有预料到这一点,添加一个空的虚拟InitializeComponent方法到底层UserControl和.gics自动生成的代码override该方法意味着我们可以放弃这一点superflous .xaml.cs文件在这些情况下。

相关问题