C Sharp – die besten Beiträge

WPF: DataGridTextColumn basierend auf ViewModel-Eigenschaft ausblenden – wie geht das?

Hallo zusammen,

ich arbeite an einer WPF-Anwendung und habe ein DataGrid, in dem ich eine bestimmte Spalte ausblenden möchte, wenn eine boolesche Eigenschaft (IstPM) im ViewModel true ist.

<DataGridTextColumn Header="Länge"
    Binding="{Binding Laenge, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat=N1}"
    Visibility="{Binding IstNichtPM, Converter={StaticResource booleanToVisibilityConverter}}"
    Width="70"/>

Dabei ist IstNichtPM eine bool-Eigenschaft im ViewModel, die true sein sollte, wenn die Spalte sichtbar sein soll.

Ich verwende einen BooleanToVisibilityConverter, der true zu Visible und false zu Collapsed konvertiert.

Problem:

Die Spalte bleibt immer sichtbar oder wird nicht korrekt aktualisiert.

Ich habe auch versucht, es in Code-Behind zu ändern, aber das geht auch nicht, da man kein x-Name geben kann

„Der Wert „colLaenge“ des Name-Attributs kann für das Element „DataGridTextColumn“ nicht festgelegt werden.“

die IstPM und istNichtPM funktioniert aufjedenfall, da ich damit auch Tabs ausgeblendet habe in der Page. Das hat ohne Probleme funktioniert

=>

ausblenden bei IstNichtPM

<TabItem Header="Allgemein" Visibility="{Binding IstNichtPM, Converter={StaticResource booleanToVisibilityConverter}}">

einblenden bei IstPM

<TabItem Header="Allgemein" Visibility="{Binding IstPM, Converter={StaticResource booleanToVisibilityConverter}}">

beim DGV bin ich so langsam echt am verzweifeln.

Hat jemand eine funktionierende Lösung, wie ich eine DataGridTextColumn in WPF dynamisch ausblenden kann?

Bin für jeden Tipp dankbar!

C Sharp, Windows Presentation Foundation

Meistgelesene Beiträge zum Thema C Sharp