ABP框架下MVVM的Binding值不刷新问题
小海贼 2021-04-02 02:10:52
Model部分代码:
public class UcHDZCQViewModel : Screen
{
public string MacConnectedStatus
{
get
{
if (this.service != null && this.service.TranService != null && this.service.TranService.IsConnected)
return "已连接";
return "断开";
}
}
}
下面是界面绑定代码
<Label HorizontalAlignment="Center" FontSize="10pt">设备连接状态</Label>
<Label Margin="10,10,10,10" Height="40" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Content="{Binding MacConnectedStatus}" Foreground="White">
<Label.Resources>
<Style TargetType="Label">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Content}" Value="已连接">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Content}" Value="断开">
<Setter Property="Background" Value="Maroon"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Resources>
</Label>
问题说明:
this.service.TranService.IsConnected是一个窜口对象是否打开的标识,IsConnected 也是只读的属性,返回的是serialPort类的IsOpen属性。为什么窜口断开了Label不跟着更新??