我将TextBox绑定到ViewModel。
我正在尝试使用:
string txt = vm.Example_Text;
与:
string txt = tbxExample.Text;
问题
在TextBox中键入可以正常工作。
但是,键入后,如果我从TextBox中单击并转到另一个控件,程序将崩溃并引发错误Make sure you do not have an infinite loop or infinite recursion.
这里只有TextBox和ViewModel的源文件
https://www.dropbox.com/s/n1hfnkmdckpwtms/TextBoxMVVM.zip?dl=0
XAML
<TextBox x:Name="tbxExample"
Text="{Binding Example_Text, Mode=TwoWay}"
IsEnabled="{Binding Example_IsEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Padding="1, 1, 0, 0"
Margin="0,2,0,0"
Width="100"
Height="22"
MaxLines="1" />
ViewModel
public string _Example_Text;
public string Example_Text
{
get { return _Example_Text; }
set
{
if (_Example_Text == value)
{
return;
}
Example_Text = value;
OnPropertyChanged("Example_Text");
}
}
调试中的错误似乎突出显示set { }
;
答案 0 :(得分:0)
OMG,您使用Example_Text
而不是_Example_Text
。这意味着要设置Example_Text
set
{
if (_Example_Text == value)
{
return;
}
_Example_Text = value;
OnPropertyChanged("Example_Text");
}