Я пытаюсь создать текстовое поле Silverlight. Я хочу, чтобы фон текстового поля изменялся в зависимости от значения в нем. Он становится красным, если он находится под нулем, и он возвращается в белый цвет, когда он больше нуля.Как создать настраиваемое текстовое поле в Silverlight?
Как я могу это достичь?
Я создал простой класс и пользовательский элемент управления, но пока не могу достичь цели. Вот код код
Пользовательские TextBox
public class CustomTB: TextBox
{
protected override void OnTextInputUpdate(TextCompositionEventArgs e)
{
double val;
if (double.TryParse(e.Text, out val))
{
e.Handled = true;
}
}
}
управления пользователя C# код
public partial class AlabdCustomTextBox : UserControl
{
public AlabdCustomTextBox()
{
InitializeComponent();
}
private void CustomTB_TextChanged(object sender, TextChangedEventArgs e)
{
double value;
if (double.Parse(customTB.Text) < 0)
{
customTB.Background = new SolidColorBrush(Colors.Red);
}
else
{
customTB.Background = new SolidColorBrush(Colors.White);
}
BindingExpression binding = this.GetBindingExpression(TextBox.TextProperty);
if (null != binding)
{
binding.UpdateSource();
}
}
}
Пользователь управления XAML Код
<cc:CustomTB Name="customTB" Background="White" Text="{Binding Screen.ComparisonItems.SelectedItem.AdditionalCost}" TextChanged="CustomTB_TextChanged" />