Arasındaki fark Selectedıtem, SelectedValue ve SelectedValuePath
Fark şu: aras
Tüm bu bağımlılık özellikleri Selector sınıfında tanımlanır. Ben sık sık SelectedValue
SelectedValuePath
SelectedValue
SelectedItem
karıştırmayın.
Aralarındaki fark, ve aynı zamanda onları ne zaman kullanırız, özellikle SelectedValue
SelectedValuePath
bilmek istiyorum. Lütfen açıklayınkullanınbasit örnek ile.
CEVAP
İsimleri biraz kafa karıştırıcı olabilir :). İşte özeti:
Selectedıtemözellik listesine bağlı tüm nesneyi döndürür. Yani
Category
nesneleri her Kategori Adı ve KİMLİĞİ özelliklere sahip nesne ile () bir koleksiyon için bir liste bağlı olduğunu söylüyorlar. örn.ObservableCollection<Category>
.SelectedItem
özelliği seçili ** 10 nesne döndürür. Bağlama amaçlı ancak, bu her zaman istediğin gibi, bu sadece sağlar bağlamak için bütün bir Kategori nesne için özellik listesinde bağlı değil değeri olan bir tek özelliği o Kategoriye nesne (gibiID
özellik).Bu nedenle varSelectedValuePathözellik veSelectedValuealternatif olarak bağlayıcı özellik (birbiri ile birlikte bunları kullanmak) anlamına gelir. Hadi sizin bakış bağlı (Ağırlık, vb ProductName gibi şeyler için özellikleri ile)
Product
bir nesne var diyelim. Hadi o Ürün de nesneCategoryID
bir özelliği var, ve kullanıcı bir kategori listesi Ürün için bir kategori seçmek mümkün olmak istiyorum söylüyorlar. Kategori ID özelliği Ürün nesne üzerindeCategoryID
özelliği atanacak nesne gerekir. BuSelectedValuePath
SelectedValue
özellikler burada devreye giriyor. Belirttiğiniz KİMLİĞİ mülkiyet Kategori nesne olmalıdır atanan özelliği Ürünle nesne listesi ilişkilidir kullanarakSelectedValuePath='ID'
bağlamaSelectedValue
özellik üzerinde DataContext (örn. Ürün).
Aşağıdaki örnek bunu göstermektedir. Bir ComboBox Kategori listesi (İtemsSource üzerinden) bağlanmış. Seçilen değeri (SelectedValue özelliğini kullanarak) olarak Ürün Categoryıd özelliği bağlayıcı ediyoruz. SelectedValuePath özelliği ile Kategori ID özelliği için bu ilgili değiliz. Ve sadece ComboBox, DisplayMemberPath özelliği ile) Name özelliği ekran söylüyoruz.
<ComboBox ItemsSource="{Binding Categories}"
SelectedValue="{Binding CategoryID, Mode=TwoWay}"
SelectedValuePath="ID"
DisplayMemberPath="Name" />
Başlangıçta biraz kafa karıştırıcı, ama umarım bu biraz daha net yapar... :)
Chris
C# arasındaki fark`==`.()Eşittir...
Kur arasındaki fark() ve setUpBeforeCl...
Git - 'farz-değişmeden Arasındaki...
Size_t arasındaki fark ve std::size_t...
'X = X arasındaki fark ne ; vs X ...