Wpf 最小和最大绑定
我有两个文本框:min和max供用户输入。如果“最大”数字小于“最小”数字,则“最大”文本框中的数字将自动更改为与“最小”文本框中的“最小”数字相同的数字 用wpf和C实现它的最佳方法是什么?代码将是伟大的Wpf 最小和最大绑定,wpf,Wpf,我有两个文本框:min和max供用户输入。如果“最大”数字小于“最小”数字,则“最大”文本框中的数字将自动更改为与“最小”文本框中的“最小”数字相同的数字 用wpf和C实现它的最佳方法是什么?代码将是伟大的 谢谢 在ViewModel中定义int类型的两个属性MinValue和MaxValue(如果使用MVVM),并绑定到两个文本框 C# private int minValue; 私有整数最大值; 公共整数最小值 { 获取{return minValue;} 设置 { 最小值=最小值; Pro
谢谢 在ViewModel中定义int类型的两个属性MinValue和MaxValue(如果使用MVVM),并绑定到两个文本框 C#
private int minValue;
私有整数最大值;
公共整数最小值
{
获取{return minValue;}
设置
{
最小值=最小值;
PropertyChanged(即新PropertyChangedEventArgs(“MinValue”);
如果(最小值>最大值)
{
最大值=最小值;
}
}
}
公共整数最大值
{
获取{return maxValue;}
设置
{
最大值=最大值;
PropertyChanged(这是新的PropertyChangedEventArgs(“MaxValue”);
如果(最大值<最小值)
{
最小值=最大值;
}
}
}
Xaml:
感谢您在ViewModel中定义int类型的两个属性MinValue和MaxValue(如果使用MVVM),并绑定到两个文本框 C#
private int minValue;
私有整数最大值;
公共整数最小值
{
获取{return minValue;}
设置
{
最小值=最小值;
PropertyChanged(即新PropertyChangedEventArgs(“MinValue”);
如果(最小值>最大值)
{
最大值=最小值;
}
}
}
公共整数最大值
{
获取{return maxValue;}
设置
{
最大值=最大值;
PropertyChanged(这是新的PropertyChangedEventArgs(“MaxValue”);
如果(最大值<最小值)
{
最小值=最大值;
}
}
}
Xaml:
感谢您在我的WPF代码中加入我的实现方式,最小数值为0,最大数值为99。 希望这能有所帮助
<!-- WPF Code Sample.xaml -->
<TextBox
Text="1"
Width="20"
PreviewTextInput="PreviewTextInputHandler"
IsEnabled="True"/>
/C#code Sample.xaml.cs
私有void previewtdeputHandler(对象发送者,TextCompositionEventArgs e)
{
//最小值为0,最大值为99
var textBox=发送方作为textBox;
bool bFlag=false;
如果(!string.IsNullOrWhiteSpace(e.Text)和&!string.IsNullOrWhiteSpace(textBox.Text))
{
字符串str=textBox.Text+e.Text;
bFlag=str.Length只是把我在WPF代码中实现的最小数值为0,最大数值为99。
希望这能有所帮助
<!-- WPF Code Sample.xaml -->
<TextBox
Text="1"
Width="20"
PreviewTextInput="PreviewTextInputHandler"
IsEnabled="True"/>
/C#code Sample.xaml.cs
私有void previewtdeputHandler(对象发送者,TextCompositionEventArgs e)
{
//最小值为0,最大值为99
var textBox=发送方作为textBox;
bool bFlag=false;
如果(!string.IsNullOrWhiteSpace(e.Text)和&!string.IsNullOrWhiteSpace(textBox.Text))
{
字符串str=textBox.Text+e.Text;
bFlag=str.Length非常感谢。它起作用了。我只需要切换minValue=maxValue。非常感谢。它起作用了。我只需要切换minValue=maxValue。
<!-- WPF Code Sample.xaml -->
<TextBox
Text="1"
Width="20"
PreviewTextInput="PreviewTextInputHandler"
IsEnabled="True"/>
// C# Code Sample.xaml.cs
private void PreviewTextInputHandler(object sender, TextCompositionEventArgs e)
{
// MIN Value is 0 and MAX value is 99
var textBox = sender as TextBox;
bool bFlag = false;
if (!string.IsNullOrWhiteSpace(e.Text) && !string.IsNullOrWhiteSpace(textBox.Text))
{
string str = textBox.Text + e.Text;
bFlag = str.Length <= 2 ? false : true;
}
e.Handled = (Regex.IsMatch(e.Text, "[^0-9]+") || bFlag);
}