我正在尝试在 Silverlight 5 中编写自己的自定义 TextBox 控件。
我已经成功编写了一个自定义标签控件,我可以在我的项目中重复使用它。
标签控件的 XAML 和代码如下所示。
以下代码对我有用:
<sdk:Label
x:Class="Gui.CustomControls.LabelControl"
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:sw="clr-namespace:System.Windows;assembly=System.Windows"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
mc:Ignorable="d"
d:DesignHeight="25" d:DesignWidth="125">
<Grid x:Name="LayoutRoot" Background="White">
</Grid>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace Gui.CustomControls
{
public partial class LabelControl : System.Windows.Controls.Label
{
public LabelControl()
{
InitializeComponent();
}
}
}
现在我想为 TextBox 做同样的事情 - 编写我自己的自定义 TextBox 控件。TextBox 的代码如下所示: 如您所见,它几乎是一样的
<sdk:TextBox
x:Class="Gui.CustomControls.TextBoxControl"
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:sw="clr-namespace:System.Windows;assembly=System.Windows"
xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
mc:Ignorable="d"
d:DesignHeight="25" d:DesignWidth="125">
<Grid x:Name="LayoutRoot" Background="White">
</Grid>
</sdk:TextBox>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace Gui.CustomControls
{
public partial class TextBoxControl : System.Windows.Controls.TextBox
{
public TextBoxControl()
{
InitializeComponent();
}
}
}
在构建解决方案时,会发生以下错误:
“XML 命名空间‘http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk’中不存在标签‘TextBox’”
由于文本框控件似乎存在于 System.Windows.Controls.TextBox 命名空间中,因此我在 XAML 中尝试了不同的命名空间,但没有任何效果。
我的问题是:
我必须使用哪个命名空间来构建这个自定义文本框?
如果这不是命名空间问题,我错过了什么?
谢谢你。