【发布时间】:2020-11-17 06:18:26
【问题描述】:
使用Stylet
我正在使用带有 dotnet core 3.1 的默认 Stylet 模板。 我只是添加了一个重现问题的属性/方法。
<TextBox Text="{Binding Username,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"
Width="100" Height="100"/>
<Button Command="{s:Action Do}">Foo</Button>
public class ShellViewModel : Screen
{
public string Username { get; set; }
public void Do() { }
public bool CanDo => !string.IsNullOrWhiteSpace(Username);
}
CanDo 属性上的断点被击中一次,再也不会被击中。在调用set 时更改TextBox 中的值不会重新触发CanDo 属性。
我也尝试使用 SetAndNotify 的支持字段,但无济于事:
public string Username { get => username; set => SetAndNotify(ref username, value, nameof(Username)); }
【问题讨论】: