2016-09-14 38 views
0

我想为我的Windows Phone 8.1项目中创建一个自定义模板控制,但无论我做什么它给了我以下异常:无法创建自定义Windows Phone的控制

无法创建从一个“的System.Type”文本 'local2:CustomControl1'。

我真的很感激任何帮助。这里是我当前的代码

PivotPage.xaml:

<Page 
     x:Class="App1.PivotPage" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:controls="using:App1.Controls" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:data="using:App1.Data" 
     xmlns:local="using:App1" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" 
     DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}" 
     mc:Ignorable="d"> 
    <Grid> 
     <controls:CustomControl1 /> 
    </Grid> 
</Page> 

CustomControl1.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.InteropServices.WindowsRuntime; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Documents; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 

// The Templated Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234235 

namespace App1.Controls 
{ 
    public sealed class CustomControl1 : Control 
    { 
     public CustomControl1() 
     { 
      this.DefaultStyleKey = typeof(CustomControl1); 
     } 
    } 
} 

Generic.xaml

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:App1"> 

    <Style TargetType="local2:CustomControl1" xmlns:local2="using:App1.Controls"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="local2:CustomControl1"> 
        <Border 
         Background="{TemplateBinding Background}" 
         BorderBrush="{TemplateBinding BorderBrush}" 
         BorderThickness="{TemplateBinding BorderThickness}"> 
        </Border> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</ResourceDictionary> 

提前致谢。

回答

1

试试这个:

<ResourceDictionary 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="using:App1" xmlns:local2="using:App1.Controls"> 

<Style TargetType="local2:CustomControl1" > 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="local2:CustomControl1"> 
       <Border 
        Background="{TemplateBinding Background}" 
        BorderBrush="{TemplateBinding BorderBrush}" 
        BorderThickness="{TemplateBinding BorderThickness}"> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

+0

Altough此代码的工作,我不知道为什么上面的一个没有。我的意思是,当我点击创建模板控制时,它是自我生成的。这是一个错误还是什么? –

+0

我不认为它自动生成这样的代码,如果它确实那么应该是一个错误。 –

+0

这是一个全新的解决方案。我刚刚创建了模板控件并运行应用程序。结果就在这里。所以它可能像你所说的一个错误。谢谢你的帮助。 –

相关问题