[英]Maui Button.IsEnabled not disabled
我在 MAUI 上有一个带有 MVVM 模板的应用程序,其中输入了电话号码的给定字段,如果它是空的,那么当您单击转换按钮时,呼叫按钮应该不可用。 但是通常的绑定 IsEnabled = {Binding...} 不想工作。 在代码中,当您将 position 设置为 true/false 时,它会永远保持不变。 请帮忙解决这个问题
主页.xaml
<ScrollView>
<VerticalStackLayout
Spacing="15"
Padding="20">
<Label Text="Enter the phone number"
FontSize="20"/>
<Entry x:Name="PhoneNumber"
Text="{Binding PhoneNumber}"/>
<Button x:Name="ConvertButton"
Text="{Binding ConvertButton}"
Command="{Binding ConvertCommand}"
/>
<Button x:Name="CallButton"
Text="{Binding CallButton}"
Command="{Binding CallCommand}"
IsEnabled="{Binding IsReady}"/>
</VerticalStackLayout>
</ScrollView>
主视图模型.cs
public string convertNumber;
[ObservableProperty]
public string phoneNumber = "+7-888-777-77-77";
[ObservableProperty]
public string convertButton = "Convert";
[ObservableProperty]
public string callButton = "Call";
[ObservableProperty]
public bool isReady;
[RelayCommand]
void Convert()
{
convertNumber = Task2.ToNumber(phoneNumber);
if (!string.IsNullOrEmpty(convertButton))
{
isReady = true;
callButton = $"Call {convertNumber}";
}
else
{
isReady = true;
callButton = "Call: ";
}
}
您可以更改 C# 中IsEnable
属性的值。
void Convert()
{
convertNumber = Task2.ToNumber(phoneNumber);
if (!string.IsNullOrEmpty(convertButton))
{
callButton.IsEnable = false;
callButton = $"Call {convertNumber}";
}
else
{
callButton.IsEnable = true;
callButton = "Call: ";
}
}
如果使用 Bind,只有当 bind 属性的引用发生变化时,UI 才会发生变化。(这个说法可能是错误的)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.