我正在开发 WPF 应用程序,其中有一个文本框、按钮、标签和一个切换按钮。在我的应用程序中,我应该执行如下两个操作:
仅将文本框的输入设置在 0.0 到 5.0 之间。因此,如果写入的任何值超过 5.0,则必须限制为 5。类似地,写入低于 0.0 的任何值都必须受到限制,并且只能显示 0.0。
如果值为 3.4 V,我的标签应将内容显示为“值”VIe,因为伏特应与其连接。
Xaml 在这里:
<TextBox Grid.Column="1" Text="{Binding VoltageText}" Name="VoltageBox" />
<Label Grid.Column="2" Content="{Binding CurrentText}" Name="CurrentLabel" />
型号类:
string voltageText = string.Empty;
public string VoltageText
{
get
{
return voltageText;
}
set
{
voltageText = value;
OnPropertyChanged("VoltageText");
}
}
这个文本框必须有我在第一点中提到的输入限制:) 我写的 textchanged 方法只允许 0-9 和 . 在文本框中:
// present in xaml.cs
private void VoltageBox_TextChanged(object sender, TextChangedEventArgs e)
{
string txt = VoltageBox.Text;
if (txt != "")
{
VoltageBox.Text = Regex.Replace(VoltageBox.Text, "[^0-9] [^.]", "");
if (txt != VoltageBox.Text)
{
VoltageBox.Select(VoltageBox.Text.Length, 0);
}
}
}
string currentText = "0 V";
public string CurrentText
{
get
{
return currentText;
}
set
{
currentText = value;
OnPropertyChanged("CurrentText");
}
}
您可以在启动时注意到Currenttext = 0 V
并通过执行这些语句我想更改的值CurrentText
:
double tempval = 120.0;
string CurrentVal = Convert.ToString(tempval / 10);
CurrentText = CurrentVal; // here V as volts must be concatenated and value must be 12.0 V