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>
提前致谢。
Altough此代码的工作,我不知道为什么上面的一个没有。我的意思是,当我点击创建模板控制时,它是自我生成的。这是一个错误还是什么? –
我不认为它自动生成这样的代码,如果它确实那么应该是一个错误。 –
这是一个全新的解决方案。我刚刚创建了模板控件并运行应用程序。结果就在这里。所以它可能像你所说的一个错误。谢谢你的帮助。 –