Ubah IsEnabled & IsVisible pada Konfirmasi Kata Sandi di Xamarin
Di Aplikasi Xamarin saya, saya mencoba menggunakan ubah IsVisible
untuk Frame
dan IsEnabled
untuk Button
, ketika Kata Sandi Dikonfirmasi (Kata Sandi & Konfirmasi Kata Sandi seharusnya teks yang sama), tetapi tidak mengubah apa pun.
Satu Ironi adalah bahwa ketika Aplikasi terbuka, secara default (tidak ada nilai apa pun yang dimasukkan), Password.Text == ConfirmPassword.Text
adalah True.
Saya ingin mengubahnya, jika Nilai dari kedua Entry
bidang sama. Terima kasih.
Kode .xml
<Entry
x:Name="Password"
IsPassword="True"
Keyboard="Numeric"
MaxLength="8"
ReturnType="Next" />
<Entry
x:Name="ConfirmPassword"
IsPassword="True"
Keyboard="Numeric"
MaxLength="8"
ReturnType="Done" />
<Frame x:Name="RedBar" BackgroundColor="#E1444D" IsVisible="true">
<BoxView />
</Frame>
<Frame x:Name="GreenBar" BackgroundColor="#24D27F" IsVisible="false">
<BoxView />
</Frame>
<Button
x:Name="PasswordButton"
IsEnabled="False"
Text="Submit">
</Button>
Kode .xml.cs
public PasswordPage()
{
InitializeComponent();
if (Password.Text == ConfirmPassword.Text)
{
RedBar.IsVisible = false;
GreenBar.IsVisible = true;
PasswordButton.IsEnabled = true;
}
else
{
RedBar.IsVisible = true;
GreenBar.IsVisible = false;
PasswordButton.IsEnabled = false;
}
}
Jawaban
1 jai
Kode Xaml
<Entry
x:Name="Password"
IsPassword="True"
Keyboard="Numeric"
MaxLength="8"
ReturnType="Next" Unfocused="Password_Unfocused" />
<Entry
x:Name="ConfirmPassword"
IsPassword="True"
Keyboard="Numeric"
MaxLength="8"
ReturnType="Done" Unfocused="ConfirmPassword_Unfocused"/>
<Frame x:Name="RedBar" BackgroundColor="#E1444D" IsVisible="true">
<BoxView />
</Frame>
<Frame x:Name="GreenBar" BackgroundColor="#24D27F" IsVisible="false">
<BoxView />
</Frame>
<Button
x:Name="PasswordButton"
Clicked="PasswordButton_Clicked"
IsEnabled="False"
Text="Submit">
</Button>
Kode Belakang
public PasswordPage()
{
InitializeComponent();
ValidatePassword();
}
private void Password_Unfocused(object sender, FocusEventArgs e)
{
ValidatePassword();
}
private void ConfirmPassword_Unfocused(object sender, FocusEventArgs e)
{
ValidatePassword();
}
private void ValidatePassword()
{
if (!string.IsNullOrEmpty(Password.Text) && !string.IsNullOrEmpty(ConfirmPassword.Text))
{
if (Password.Text == ConfirmPassword.Text)
{
RedBar.IsVisible = false;
GreenBar.IsVisible = true;
PasswordButton.IsEnabled = true;
}
else
{
RedBar.IsVisible = true;
GreenBar.IsVisible = false;
PasswordButton.IsEnabled = false;
}
}
else
{
RedBar.IsVisible = true;
GreenBar.IsVisible = false;
PasswordButton.IsEnabled = false;
}
}
1 RonakShethia
ubah kondisi if Anda menjadi ini
if (Password.Text == ConfirmPassword.Text && !string.IsNullOrWhiteSpace(Password.Text))
{
}
1 jdweng
Gunakan linq berikut:
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
string xml = File.ReadAllText(FILENAME);
XDocument doc = XDocument.Parse(xml);
List<XElement> entries = doc.Descendants("Entry").ToList();
string name1 = (string)entries[0].Attributes().Where(x => x.Name.LocalName == "Name").FirstOrDefault();
string name2 = (string)entries[1].Attributes().Where(x => x.Name.LocalName == "Name").FirstOrDefault();
}
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'