StackPanel
var, yalnızca SomeTabControl.SelectedItem != null
olduğunda görünür yapmak istiyorum. Bunu WPF bağlamada nasıl yaparım?wpf databind IsVisible için TabControl.SelectedItem! = Null
cevap
Bir stil ve tetiği kullanarak bir dönüştürücü olmadan bunu yapabilir.
NULL değerli bir değeri System.Windows.Visibility değerine dönüştüren ve bunu bağlayıcınızda kullanan bir dönüştürücü oluşturun.
public class VisibilityConverter : IValueConverter
{
#region [ IValueConverter ]
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if(value == null)
return System.Windows.Visibility.Collapsed;
return System.Windows.Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
#endregion
}
Dip not: dönüştürücü sınıf için
<StackPanel x:Name="myPanel" Visibility="{Binding Path=SelectedItem, Mode=OneWay, ElementName=SomeTabControl, Converter={StaticResource visibilityConverter}}" />
Kodu: Mesela
Bu, kontrolünüzün XAML'sinde visibilityConverter adında statik bir kaynak olduğunu varsayar.
<StackPanel>
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger
Binding="{Binding SelectedItem,ElementName=tabControl1}"
Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
<Style.Triggers>
</Style>
</StackPanel.Style>
</StackPanel>
Bu örnek, varsayılan olarak StackPanel gösterir, ancak TabControl1 üzerinde SelectedItem null olduğunda o zaman gizler:
Kendi yazıcınızı yazmak yerine yerleşik BoolToVisiblityConverter kullanabilirsiniz. http://msdn.microsoft.com/en-us/library/system.windows.controls.booleantovisibilityconverter.aspx – Andy
BoolToVisibilityConverter nasıl dönüştürülebilir? = null Visible? Ya doğru ya da yanlış olsaydım onu alırım. Ama! = Null? – azazeal
- 1. WPF databind Image.Source MVVM
- 2. Fragment isVisible() doğru değildir
- 3. isDisplayed() vs isVisible() içinde Selenium
- 4. Jackson Databind sınıf yolu sorunu
- 5. Java.Lang.ClassNotFoundException/NoClassDefFoundError için com/fasterxml/jackson/databind/ObjectMapper Maven
- 6. WPF KomutParametresi Çoklu Bağlantı değerleri null
- 7. Yükseltme :: shared_ptr için NULL
- 8. isVisible öğesi true olarak ayarlandığında liste görünümü güncellenmiyor
- 9. WPF
- 10. Jackson-databind sürüm uyuşmazlığı nedeniyle seri hale getirme hataları?
- 11. WPF için FileBrowser/FileSelector
- 12. WPF 4.0 için DateTimePicker
- 13. stdout'u stdio seçeneği [null null, null,] 'devralır'
- 14. '(null)' GNOME anahtarlığı için istendiğinde
- 15. Kullanıcı için doğrulama başarısız: null
- 16. Varlık Çerçeve 5 DbUpdateException: için null değeri olmayan null üye
- 17. Bir sütun düşürmeden NOT NULL olan NULL için değiştirebilir miyim?
- 18. WPF: WPF uygulamasında WPF TextBox
- 19. WPF - AvalonDock - Kapanış Belgesi
- 20. Null
- 21. WPF
- 22. Null '' null '' DateTime to MaskedTextBox
- 23. Linq2Sql: HasValue ve null = null, null türler için aynı şekilde çalışır mı?
- 24. WPF
- 25. null Enum null tip soru
- 26. WPF: DataTemplate için Bağıl Kaynak
- 27. WPF kullanıcıları için Silverlight (4.0)
- 28. Databound WPF ComboBox 'Yeni ...' ile
- 29. WPF Hangi IDE için gitmek için?
- 30. WPF
Mükemmel, teşekkürler! –