カスタム xaml スタイルを使用したカスタム コントロールは次のとおりです。
using System.Windows.Controls;
namespace MyControls
{
public class CustomTextBox : TextBox
{
}
}
<Style TargetType="controls:CustomTextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:CustomTextBox">
<StackPanel>
<TextBlock Text="" />
<TextBox Text="{TemplateBinding Text}" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
また、使用すると、ハンドラーは何らかの理由でTextChanged
更新されたフィールドを取得しません。Text
<controls:CustomTextBox x:Name="ControlInstance"
TextChanged="OnTextChanged"
InputScope="EmailNameOrAddress" />
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
// ControlInstance.Text is always ""!
}