在Xamarin中,有没有办法在xaml文件中设置标记到按钮?
我试过了,
<Button Text="OK"
Tag="{Binding Email}"/>
但Tag属性不支持xaml
xaml中有哪些属性支持将标记值设置为视图
答案 0 :(得分:2)
您可以轻松创建自己的自定义Button
并添加标记BindableProperty
。
public class ButtonWithTag : Button
{
public object Tag
{
get { return (object)GetValue(TagProperty); }
set { SetValue(TagProperty, value); }
}
public static readonly BindableProperty TagProperty =
BindableProperty.Create(nameof(Tag), typeof(object), typeof(ButtonWithTag), null);
}
您在XAML
中使用它xmlns:local="clr-namespace:YourProjectName"
<local:ButtonWithTag
Text="Ok"
Tag="{Binding Email}" />
答案 1 :(得分:1)
您可以使用x:Name="MyButton"
,然后仅使用MyButton.Text = "updated text"
访问代码隐藏.cs文件中的按钮。假设这就是你的意思。
答案 2 :(得分:1)
我认为最好的解决方案是CommandParameter。您可以使用CommandParameter执行此操作。试试这个,
的.xaml
<Button Text="OK"
Command="{Binding TapCommand}"
CommandParameter="EmailAddress"/>
.cs
ICommand tapCommand;
public ICommand TapCommand {
get { return tapCommand; }
}
public ConstructorName {
tapCommand = new Command (OnTapped);
}
void OnTapped (object s) {
Debug.WriteLine ("parameter: " + s);
}