0
我正在使用Xamarin.Forms Picker
,它正在填充List<KeyValuePair<string, string>>
。問題在於它沒有以我想要的方式顯示。更改列表的顯示格式<KeyValuePair <字符串,字符串>>
XAML:
<Picker x:Name="VersionPicker" ItemsSource="{Binding}"/>
C#:
Dictionary<string, string> VersionDictionary = new Dictionary<string, string>()
{
{ "asv1901", "American Standard Version" },
{ "bbe", "Bible In Basic English" },
};
List<KeyValuePair<string, string>> VersionList = VersionDictionary.ToList();
VersionPicker.BindingContext = VersionList;
它會產生什麼是這個樣子......
[asv1901, American Standard Version]
我想Picker
有東西沿着這些路線.. 。
American Standard Version (asv1901)
有沒有辦法做到這一點? XAML或C#會很好(因爲它純粹是一種視覺變化,我認爲XAML或轉換器可能最有意義)。
ItemDisplayBinding用於綁定源代碼中顯示的文本。您可以創建您自己的類(或擴展KVP),而不是使用KeyValuePair,其中包含按照您希望的方式格式化的Display屬性。 – Jason
請嘗試以下方法:var VersionList = VersionDictionary.AsEnumerable()。Select(x => string.Format(「{0}({1})」,x.Value,x.Key).ToList(); – jdweng
@jdweng FYI ...在'x.Key)'和'.ToList()'之間需要額外的''''。 – doubleJ