如何将用C#代码生成的字符串插入xaml按钮?

时间:2019-05-10 13:52:58

标签: c# xaml xamarin

我正在尝试创建一个离线密码管理器。有一个函数应该生成一个密码并将其放入应该保存该数据的条目中。现在,我正在努力将从C#代码生成方法的结果插入到xaml按钮中。

我尝试在c#代码中创建一个条目,并为其分配文本属性。第一件事是我不确定这是否是正确的方法。第二件事是我不知道为了解决这个问题我还能做什么。

//this is the generating button in app
void OnGenerateClicked(object sender, EventArgs e)
{
    var passwordEntry = new Entry();
    passwordEntry.SetBinding(Entry.TextProperty, "Haslo");

    bool includeLowercase = true;
    bool includeUppercase = true;
    bool includeNumeric = true;
    bool includeSpecial = true;
    bool includeSpaces = false;
    int lengthOfPassword = 12;
    string password = 
        PasswordGeneration.GeneratePassword(includeLowercase, includeUppercase, 
        includeNumeric, includeSpecial, includeSpaces, lengthOfPassword);
    var Haslo = new Entry { Text = password }; 
    // here i've tried to assign the text property to the entry 
    //  "Haslo" but unfortunately it's not working.
}

XAML:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="OpassV1.Widoki.ServicePage">
    <StackLayout Margin="20" VerticalOptions="StartAndExpand">
        <Label Text="Nazwa" />
        <Entry Text="{Binding Nazwa}" /> 
        <Label Text="Hasło"/>
        <Entry x:Name="Haslo" Text="{Binding Haslo}"/>
        <Button Text="Genruj hasło" Clicked="OnGenerateClicked" /> 
        <Button Text="Zapisz" Clicked="OnSaveClicked" />
        <Button Text="Usuń" Clicked="OnDeleteClicked" />
        <Button Text="Anuluj" Clicked="OnCancelClicked" />
        </StackLayout>
</ContentPage>

在单击生成按钮“ OnGenerateClicked”后,我想在“绑定Nazwa”条目中显示生成的密码

我很感谢所有答案:)

1 个答案:

答案 0 :(得分:0)

这将创建一个条目的新实例

this.Controls.Add(tagDBname);

您要使用在XAML中创建的现有Entry实例。您的XAML中具有var Haslo = new Entry { Text = password }; 属性的任何元素都应通过隐藏代码中的名称进行访问

x:Name