C# 'de, bir açılan seçim kutusu için bir tupl listesi döndüren bir özellik ekledim. Liste Kaynak dosyalarından dizeleri içerir. Dil değişikliğinde, listedeki değer güncelleniyor. Ancak özelliği çağırırken, döndürülen değer yenilenmez. Aşağıda Dildeki özel bir Liste değişkenini yenilemek MVVM ve XAML
Bu benim tuple değerini dil güncelleştirme üzerindeSelectedLanguage = LanguageList.FirstOrDefault(q => q.Item1 == CurrentSettings.SelectedLanguage) ?? LanguageList[0];
(LCID ve dil adı taşıyan bir keyvalue çifti) çağırmak nasıl kod
private List<Tuple<string, string>> _languageList = new List<Tuple<string, string>>
{
new Tuple<string, string>("", AppResources.Automatic),
new Tuple<string, string>("0407", AppResources.LanguageGerman),
new Tuple<string, string>("0809", AppResources.LanguageUKEnglish),
new Tuple<string, string>("0409", AppResources.LanguageUSEnglish),
new Tuple<string, string>("0c0a", AppResources.LanguageSpanish),
new Tuple<string, string>("0c0c", AppResources.LanguageFrenchCanadian),
new Tuple<string, string>("040c", AppResources.LanguageFrench),
new Tuple<string, string>("0413", AppResources.LanguageDutch)
};
public List<Tuple<string, string>> LanguageList
{
get
{
return _languageList;
}
}
olduğunu, kaynak dizeleri alıyor tercüme edilmiş değer. Ancak, LanguageList özelliği, uygulama başladığında ilk başta başlatılan eski bir liste döndürür.
Bu listeyi dil değişikliği ile nasıl değiştirebilirim?
Şimdiden teşekkürler.
Mülkiyet hakkında değişiklik olduğunu bildirme? –
Her şey doğru görünüyor, ancak sorununuz belirsiz. "Ancak, LanguageList, uygulama başladığında ilk başta başlatılan eski bir liste döndürür" diyorsunuz, bu tamamen beklendiği gibi görünüyor. Bu listeyi neden değiştirmeniz gerekiyor? Ve, eğer * bunu değiştirmeniz gerekiyorsa, lütfen [düzenle] ve tam olarak ne tür değişiklikler yapmanız gerektiğini ** belirtin **. Seçili dili (isteğe bağlı bir seçenek olarak listelemeye gerek yok) kaldırmak istediğinizi düşünebilirim, bu durumda bir ObservableCollection kullanmalısınız, ancak bu gerçekten gereksizdir, bu yüzden bunu varsaymayacağım. – Will
Öneriler için teşekkürler. Listeden bir dil seçerken, kaynak dosyaları seçilen dile uygun olacak şekilde değiştirirdim. Tüm uygulamayı tercüme ediyor ama bu liste. Uygulama kaynağı referansları güncellenmiş dil çevirilerini yansıtır.Ancak, LanguageList özelliği çevrilmiş _languageList değerini döndürmüyor. Tersine, varsayılan değeri (İngilizce) döndürüyor. – Sriram