我有一个包含多个标签的页面,每个标签都绑定了不同的属性,当点击打开提示以修改其值时。我不知道如何使用命令传递该属性,因此我可以修改它并对所有标签使用相同的命令。
在内容页面中:
<Label x:Name="lblLevel" Text="{Binding Level}" FontSize="Large">
<Label.GestureRecognizers>
<TapGestureRecognizer
Command="{Binding InputPopup}"
CommandParameter="{Binding Source={x:Reference lblLevel}, Path=Text}" />
</Label.GestureRecognizers>
</Label>
命令:
public ICommand InputPopup => new Command(
async () => {
PromptResult pResult = await UserDialogs.Instance.PromptAsync(new PromptConfig
{
InputType = InputType.Name,
OkText = "Confirm",
Title = "New value",
CancelText = "Cancel",
MaxLength = 1,
});
if (pResult.Ok && !string.IsNullOrWhiteSpace(pResult.Text))
{
//Todo: PropertyX (Level) = pResult.Text
}
}
);
谢谢