Wie definieren Leeren DataTemplate für das ItemsControl basierte Steuerelemente wie ListView oder DataGrid
ASP.NET Steuerelemente wie ListView ermöglicht das bereitstellen einer benutzerdefinierten Vorlage, die durch die Einstellung der ListView.EmptyDataTemplate Eigentum, wird dieses template gerendert wird bei leeren Daten-Quelle.
Wie zu tun die selben in WPF (XAML nur vorzuziehen) für ItemsControl basierte Steuerelemente wie ListView und DataGrid? Also ich will mich zeigen, meine benutzerdefinierte DataTemplate, in dem Fall, wenn ItemsSource leer ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden, legen Sie die Template-Eigenschaft, basierend auf einem DataTrigger
Beispielsweise
Ressourcen:
Kontrolle selbst:
Könnte es ein einfacher Weg das zu tun, die Bindung, aber ich habe keinen compiler auf mich jetzt, um herauszufinden, was es werden würde 🙂
DataContext.SomeCollection.Count
zurück0
im Fall, wennDataContext.SomeCollection
null ist?SomeCollection
gleich{x:Null}
ListBox.DataContext.SomeCollection.Count
, die einen gültigen Pfad, daItemsSource="{Binding SomeCollection}"
ist ein Gültiger Pfad. Ich kann mich nicht erinnern, dass der Wert, der zurückgegeben wird, wenn die Bindung ist nicht gültig, aber wennSomeCollection
null ist, wird WPF zu ignorieren, die verbindlich sind Fehler, die durch.Count
. Es wird nicht eine exception werfen.Es ist ein 100% xaml Lösung, macht Gebrauch von der "HasItems" Abhängigkeit Eigenschaft.
können Sie DataTemplate selector zu tun.
http://msdn.microsoft.com/en-us/library/system.windows.controls.datatemplateselector.aspx
UPDATE 1
Code: