WPF

2016-04-07 15 views
0

'daki temel noktaları nasıl temsil edebilirim EditValueType="{x:Type system:Decimal}" ile DevExpress dxe:TextEdit denetimim var. Bu TextEdit denetiminin, gerçek değerin 10.000 katı olan değerleri görüntüleyip kabul etmesini isterim. Örneğin, 15 kişi girerse, gerçek değeri .0015 olarak kaydetmelidir. Ve eğer viewmodel değeri .0015 ise, 15 göstermelidir.WPF

WPF'de yeniyim ve bunu gerçekleştirmenin en iyi yolu olduğundan emin değilim. Biçim dizeleriyle yapamıyorum gibi görünüyor, ama yanılıyor olabilirim. Bir değer dönüştürücü aşırı sıkışık gibi görünüyor. Model nesnesindeki ayarlayıcıyı değiştirmeyi de düşündüm, ama bunun işe yarayacağını düşünmüyorum ve bir çeşit hack-y gibi görünüyor.

cevap

1

DevExpress ile bir süre önce çalıştım.

Hatırlayabildiğim kadarıyla kendi TextEdit sınıfınızı oluşturabilirsiniz. (TextEditBase'den türetin, hatta daha ileri gidip BaseEdit'ten türetin). Öte yandan, aşırı öldürme hakkında konuşmak gerekirse, bence bu bir dönüştürücü oluşturmaktan çok daha büyük bir over-kill, bu da gerçekten iyi bir çözüm olan IMHO olacak.

+0

Tamam, bu yüzden dönüştürücü WPF için standart uygulamadır? Bunu söylemek benim için gerçekten zor. –

+1

Dönüştürücü fikri, gerçek verilerinizi, göstermek istediğiniz görsel verilere dönüştürmektir. Örnek, bunun klasik kullanımıdır. –

+0

Harika, teşekkürler. –

0

Bunu yapmak için get/set işlevlerini kullanırdım. Sunum biçimini depolama biçimine/dosya biçiminden çevirmek için kullanmanın mükemmel bir yolu.

+0

Bunun EF ile nasıl çalışacağını biliyor musunuz? EF, model nesneyi veritabanından aldığında, ayarlayıcıyı çağırmayacak ve saklanan veritabanı değerini 10.000'e bölebilecektir? –