Farklı sayfaların TabItems olduğu bir uygulamada MVVM kullanmak istiyorum.Bağlama yoluyla TabItem'i etkinleştirme
Bunun için benim görünüm modellerimin (Öğeler) gözlenebilir bir koleksiyonunu kullanın ve bunu ItemSource tabcontrols öğesine bağlayın. her birine uygulanacak
<DataTemplate DataType="{x:Type baseVm:AViewModel}">
<baseVw:AView />
</DataTemplate>
ben başka bir veri şablonu oluşturduk sekmesinin başlığında doğru adı görüntülemek için: Her görünüm modeli için
, böyle doğru bir görünümünü oluşturmak için tek tek veri şablon oluşturdu sekme denetiminin elemanlar:<DataTemplate x:Key="ViewModelTabTemplate">
<DockPanel>
<ContentPresenter Content="{Binding Path=Name}"/>
</DockPanel>
</DataTemplate>
sekme denetimi şuna benzer:
<TabControl x:Name="myTabControl"
ItemsSource="{Binding Items}"
ItemTemplate="{DynamicResource ViewModelTabTemplate}">
</TabControl>
Şimdi yapmak istediğim, koleksiyonları içeren görünüm modelindeki sekmeleri etkinleştirmek/devre dışı bırakmak. Görünüm modelinin temel sınıfı bir bağımlılık özelliği olan IsEnabled'ı içerir ve bunu bu görünümlere bağlamak isterim. Ben doğrudan böyle görünümünde Bunu yaparsanız: Ben false IsEnabled özelliğini açtığınızda
IsEnabled="{Binding IsEnabled, FallbackValue=true}"
sekme sayfanın içeriği devre dışı bırakıldığı. Ancak, gerçekten istediğim, yalnızca sayfanın sekmesini değil, yalnızca içeriği de devre dışı bırakmak.
Yardımlarınız için teşekkürler!
+1 yolunun bu bunu yapmak için :) – dowhilefor
Çok teşekkür ederim! Tam olarak aradığım şey bu. – tabina
Sevindim Yardımcı olabilirim! :) – Dror