Dies ist mein erster Eintrag, also bitte gedulden Sie sich mit mir. Mein Problem ist, dass ich Expander in einem DataGrid habe. Die Expander werden zum Gruppieren verwendet. Ich habe auch ein Filtertextfeld, das die Ansicht filtert und nur die übereinstimmenden Zeilen anzeigt. Mein Problem ist: Die Expanders Grouping Expander Expanded sollte True sein, wenn die Suche Einträge findet und False, wenn die Suche nicht verwendet wird. Das ist mein DataGrid.GroupStyle:Wie binde ich die Eigenschaft isexpanded dynamisch erzeugter Expander
<DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GroupHeaderSettingsStyle}">
<GroupStyle.Panel>
<ItemsPanelTemplate>
<DataGridRowsPresenter/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</DataGrid.GroupStyle>
Dies ist der Static
<Style x:Key="GroupHeaderSettingsStyle" TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander x:Name="Exp" IsExpanded="{Binding Path=FilterExpander,Mode=TwoWay}">
<Expander.Header>
<TextBlock Text="{Binding Name}" Foreground="White"/>
</Expander.Header>
<ItemsPresenter/>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Und das ist mein C# Eigentum:
public bool? FilterExpander
{
get
{
return _FilterExpander;
}
set
{
_FilterExpander = value;
RaisePropertyChanged(() => FilterExpander);
}
}
Es ist nie in die "get-Methode" wird Also denke ich, dass das Problem innerhalb des XAML-Codes liegt. Aber ich bin mir nicht sicher.
Ich hoffe, Sie können mir helfen. Wenn ich einige Code Snippets oder Informationen vergessen habe, lassen Sie es mich wissen.
Dank
Was ich versucht habe:
Alle "Modi" Alle UpdateSourceTriggers, Auch gefunden Relative Bindung
Es passiert wahrscheinlich, weil 'FilterExpander'-Eigenschaft nicht der Teil des' GroupItem' DataContext ist. Sie können versuchen, es in eine Klasse zu verschieben, die GroupItems von 'DataGrid' repräsentiert (das die' Name' -Eigenschaft enthält). – bars222
Und vielleicht kann Ihnen das helfen http://stackoverflow.com/questions/6099141/expander-expanded-binding?rq=1 – bars222
Vielen Dank für Ihre Antwort. Die FilterExpander-Eigenschaft ist in der DataContext-Klasse und der Link hat auch nicht geholfen :(Aber trotzdem danke – Evosoul