【发布时间】:2022-01-19 16:29:53
【问题描述】:
我有一个绑定到文本框文本属性的字符串“ConnectionStatus”
private string connectionStatus;
public string ConnectionStatus
{
get
{
return connectionStatus;
}
set
{
if (connectionStatus != value)
{
connectionStatus = value;
NotifyPropertyChanged("ConnectionStatus");
}
}
}
我有一个连接到 RelayCommand 的按钮:
void ConnectCmd(object parameter)
{
ConnectionStatus = "Connecting..";
// Do some stuff
ConnectionStatus = "Connected"
}
XML
<TextBox x:Name="TextBlock_ConectedToName"
Grid.Column="1"
Grid.Row="0"
Grid.ColumnSpan="2"
Height="40"
Margin="5"
FontSize="26"
IsReadOnly="True"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Text="{Binding ConnectionStatus,
UpdateSourceTrigger=PropertyChanged}" />
当按下按钮时,调用中继命令,然后 将字符串“ConnectionStaus”更新为“Connecting...”,然后我执行 一些处理,打开一个串口,并将 ConnectionStatus 更改为 如果成功,则“已连接”。但是,“正在连接...”文本永远不会 显示,文本更新似乎仅在 RelayCommand 函数完成。如何获取要更新的文本 马上。
【问题讨论】:
标签: c# wpf data-binding relaycommand