我有一个继承 TextBox 的 WatermarkTextBox,并且我有 x:Name="TestASearch" 将在列表视图中调用以显示从方法 textboxsearch_TextChanged 返回的搜索。
<controls:WatermarkTextBox x:Name="TestASearch" Grid.Column="2" Grid.Row="0"
Margin="10,61,0,10" SelectAllOnGotFocus="True" Background="White"
TextChanged="textboxsearch_TextChanged">
<controls:WatermarkTextBox.Watermark>
<TextBlock FontStyle="Italic" Text="Enter search text…" Width="116"/>
</controls:WatermarkTextBox.Watermark>
WatermarkTextBox 类
public WatermarkTextBox()
{
FrameworkElement.DefaultStyleKeyProperty.OverrideMetadata(typeof(WatermarkTextBox), new FrameworkPropertyMetadata(typeof(WatermarkTextBox)));
}
现在我想使用相同的概念,除了我想要不同的 x:Name =TestBSearch 并想使用 TextChanged="textboxsearch_TextChanged"
<controls:WatermarkTextBox x:Name="TestBSearch" Grid.Column="2" Grid.Row="0"
Margin="10,61,0,10" SelectAllOnGotFocus="True" Background="White"
TextChanged="textboxsearch_TextChanged">
<controls:WatermarkTextBox.Watermark>
<TextBlock FontStyle="Italic" Text="Enter search text…" Width="116"/>
</controls:WatermarkTextBox.Watermark>
</controls:WatermarkTextBox>
当我尝试此操作时,我收到错误“PropertyMetadata 已为类型‘WatermarkTextBox’注册。” 如何重用相同的代码?
谢谢