In WPF können Sie eine CollectionViewSource ohne Code filtern?

7

Wirklich das Thema sagt alles.

%Vor%

Es ist nicht so, dass ich keinen Code hinter mir haben kann. Es nörgelt mich nur.

    
Jerry Nixon - MSFT 23.06.2011, 23:31
quelle

2 Antworten

13

Sie können so ziemlich alles in XAML tun, wenn Sie "hart genug versuchen", ganze Programme darin schreiben .

Sie werden nie Code hinter sich haben (naja, wenn Sie Bibliotheken benutzen, müssen Sie keine schreiben, aber die Anwendung hängt natürlich davon ab), hier ist ein Beispiel, was Sie in diesem speziellen Fall tun können:

%Vor% %Vor% %Vor%

Markup-Erweiterungen sind Ihr Freund, wenn Sie etwas in XAML machen möchten.

(Vielleicht möchten Sie den Namen der Erweiterung buchstabieren, z. B. me:FilterExtension , da das direkte Einchecken in Visual Studio sich ohne Grund beschweren kann, es kompiliert und läuft natürlich, aber die Warnungen könnten nervig sein.
Erwarten Sie auch nicht, dass CollectionViewSource.Filter im IntelliSense angezeigt wird. Sie erwarten nicht, dass Sie diesen Handler über die XML-Elementnotation festlegen.

    
H.B. 24.06.2011, 01:05
quelle
14

Tatsächlich brauchen Sie nicht einmal Zugriff auf die CollectionViewSource -Instanz, Sie können die Quellensammlung direkt im ViewModel filtern:

%Vor%

(Beachten Sie, dass ICollectionView.Filter kein Ereignis wie CollectionViewSource.Filter ist, sondern eine Eigenschaft vom Typ Predicate<object> )

    
Thomas Levesque 24.06.2011 01:13
quelle