use*_*858 1 c# wpf xaml binding isenabled
我TextBox需要以编程方式启用/禁用.我希望使用绑定到a来实现这一点Boolean.这是TextBoxXAML:
<TextBox Height="424" HorizontalAlignment="Left"
Margin="179,57,0,0" Name="textBox2"
VerticalAlignment="Top" Width="777"
TextWrapping="WrapWithOverflow"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
AcceptsReturn="True" AcceptsTab="True"
Text="{Binding Path=Text, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding Path=TextBoxEnabled}"/>
Run Code Online (Sandbox Code Playgroud)
注意Text属性也绑定了; 它功能齐全,这让我觉得它不是DataContext的问题.
但是,当我调用此代码时:
private Boolean _textbox_enabled;
public Boolean Textbox_Enabled
{
get { return _textbox_enabled; }
set
{
OnPropertyChanged("TextBoxEnabled");
}
}
Run Code Online (Sandbox Code Playgroud)
这是行不通的.为了提供更多信息,此方法更改了TextBox_Enabled属性:
public void DisabledTextBox()
{
this.Textbox_Enabled = false;
}
Run Code Online (Sandbox Code Playgroud)
..按下组合键时调用.
这是你的小错字!
private Boolean _textbox_enabled;
public Boolean TextboxEnabled // here, underscore typo
{
get { return _textbox_enabled; }
set
{
_textbox_enabled = value; // You miss this line, could be ok to do an equality check here to. :)
OnPropertyChanged("TextboxEnabled"); //
}
}
Run Code Online (Sandbox Code Playgroud)
xaml将文本更新为vm/datacontext的另一件事
Text="{Binding Path=Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding TextBoxEnabled}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39158 次 |
| 最近记录: |