SORU
10 Mart 2011, PERŞEMBE


Nasıl Resharper CustomBinding MarkupExtension için yol çözmek için

Bazıları gibi normal bir WPF-Bağlama davranan Bağlama-Biçimlendirme Uzantısı, genişletilmiş oluşturmak istiyorum ama bazı şeyler daha farklı varsayılanları kullanın, belki bazı davranış, vb ekleyin.) yapar. Kod bu gibi görünüyor:

public class CustomBindingExtension : Binding
{
  .. some extra properties and maybe overrides ...
}

Bu XAML ıntellisense dahil olmak üzere gayet iyi çalışıyor, ben sadece Resharper benim Yol Bağlama gidermek doğru yapmak doğru değil. I. e.: bu kodu kullanarak [Kontrol] 'CurrentText' ve Resharper vs2010 CurrentText-Özellik. tanımlama kodu gitmenize izin verir İ

<UserControl x:Name="uc" ...>
  <TextBox Text="{Binding ViewModel.CurrentText, ElementName=uc}" />
</UserControl>

Ama kullanmabenimdoğru çalışma zamanında çalışan bağlama, ben sadece CurrentText 'bana' BAYAN İç.biraz gezinip zaman bir İpucu almak Tasarım.Meta.ReflectionTypeNode' ve navigasyon) [Kontrol] ' ı Tıklatın.

<UserControl x:Name="uc" ...>
  <TextBox Text="{util:CustomBinding ViewModel.CurrentText, ElementName=uc}" />
</UserControl>

Şunları denedim:

  • Bağlama kaynaklanıyor
  • BindingDecoratorBase türetmek
  • 'Uzantı' benim sınıf CustomBinding için sonek . dışarıda bırakın
  • ayrı bir derlemede Biçimlendirme Uzantısı koymak
  • ConstructorArgumentAttribute Kullanın
  • Yol-Emlak tipi string ve tip PropertyPath özellik

    Ben de orijinal dersi Bağlama ve BindingBase görünüyordu, ama benim kod artık fark bulunamadı. Burada yardım gereken herhangi bir fikir? Yoksa hiçbir şekilde kendi MarkupExtensions için beni Bağlama-MarkupExtension özel bir tedavi midir?

    16.03.2011 güncelleme: ayrıca, bir hata ya da eksiklik Resharper, Yepyeni bir sorunu araştırıyor: Olabilir http://youtrack.jetbrains.net/issue/RSRP-230607

    Güncelleme 10.12.2013: bu Arada, özelliği çalışıyor (R# 7.1.3, belki de önceki sürümleri ile) görünüyor, aslında BindingDecoratorBase olan yaklaşımını ve çok hoşuma gitti. Belki de sadece çalışır, eğer MarkupExtension 'Bağlayıcı' ama benim yok, çok mutluyum. bitiyorsa

  • CEVAP
    25 EKİM 2011, Salı


    Aslında R Geçerli sürümlerinde bu mümkün değil# ve, ne yazık ki, hala yaklaşan özelliği R# 6.1 sürümü eksik.

    Bu özellik gerektirirbir sürüaltyapı değişiklikleri, ama listemizde ve kesinlikle R# 7 uygulanacaktır. [CustomBindingMarkup] [BindingPath] gibi (path yapıcı parametre ve Path özelliği için) tanıtılacak bağlıyor.

    Biz gerçekten herhangi bir rahatsızlık için özür dileriz.

    Bunu Paylaş:
    • Google+
    • E-Posta
    Etiketler:

    YORUMLAR

    SPONSOR VİDEO

    Rastgele Yazarlar

    • Blendtec

      Blendtec

      30 EKİM 2006
    • Peyton

      Peyton

      28 Aralık 2008
    • TitaniumBackup

      TitaniumBack

      10 EYLÜL 2011