我有 2 個條目。當我點擊條目 1 上的任何內容時,我希望在條目 2 上得到“是”,當我在條目 2 上輸入任何內容時,我希望得到“Noo”
問題:
當我點擊條目 1 時,條目 2 更改并獲得值“Noo”,但條目 1 也更改并獲得值“yess”。
題 :
在不更改條目 1 的情況下點擊條目 1 時如何使條目 2 更改。條目 2 也是如此
這是 Xaml 代碼:
<Entry ClassId="1" x:Name="myWord1"TextChanged="OnEntryTextChange"/>
<Entry ClassId="2" x:Name="myWord2" TextChanged="OnEntryTextChange"/>
代碼 :
private async void OnEntryTextChange(object sender, TextChangedEventArgs e)
{
var EntryTapped = (Xamarin.Forms.Entry)sender;
Device.BeginInvokeOnMainThread(() => {
if (EntryTapped.ClassId == "1")
{
myWord2.Text="Noo";
}
else if (EntryTapped.ClassId == "2")
{
myWord1.Text="yess";
}
});
}
謝謝你的幫助
uj5u.com熱心網友回復:
您可以使用Focused事件而不是TextChanged事件。
<StackLayout>
<Entry ClassId="1" x:Name="myWord1" Focused="EntryFocused"/>
<Entry ClassId="2" x:Name="myWord2" Focused="EntryFocused"/>
</StackLayout>
private void EntryFocused(object sender, FocusEventArgs e)
{
var EntryTapped = (Xamarin.Forms.Entry)sender;
if (EntryTapped.ClassId == "1")
{
myWord2.Text = "Noo";
}
else if (EntryTapped.ClassId == "2")
{
myWord1.Text = "yess";
}
}
uj5u.com熱心網友回復:
有幾種方法可以做到這一點:
- 使用系結
在這種情況下,您將有 2 個私有變數和 2 個公共變數,并且條目系結到每個變數。檢查此鏈接如何實施INotifyPropertyChanged
private string entry1String;
private string entry2String;
public string Entry1String {
get => entry1String;
set
{
entry2String = "Noo";
entry1String = value;
OnPropertyChanged(Entry1String);
OnPropertyChanged(Entry2String);
}
}
public string Entry2String {
get => entry2String;
set
{
entry1String = "Yees";
entry2String = value;
OnPropertyChanged(Entry1String);
OnPropertyChanged(Entry2String);
}
}
另一種方法是使用變數作為信號量。當變數是 時True,該方法不能被另一個同時觸發。
private bool semaphoreFlag=false;
private async void OnEntryTextChange(object sender, TextChangedEventArgs e)
{
if(semaphoreFlag) return;
semaphoreFlag=true;
var EntryTapped = (Xamarin.Forms.Entry)sender;
Device.BeginInvokeOnMainThread(() => {
if (EntryTapped.ClassId == "1")
{
myWord2.Text="Noo";
}
else if (EntryTapped.ClassId == "2")
{
myWord1.Text="yess";
}
});
semaphoreFlag=false;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/313974.html
標籤:xml xamarin.forms
上一篇:如何在uwp的選單欄中添加圖示
下一篇:如何實作嵌入影像資源的系結?
