Laden...

WPF DataGrid mit Grouped Items reagiert erst auf 2ten Klick.

Erstellt von jogibear9988 vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.040 Views
J
jogibear9988 Themenstarter:in
641 Beiträge seit 2007
vor 13 Jahren
WPF DataGrid mit Grouped Items reagiert erst auf 2ten Klick.

Ich nutze ein WPF DataGrid mit Gruppierten Items.

Die Items haben einen Expander. Das ganze befindet sich in einem AvalonDock Fenster. Wenn nun das Fenster mit dem Datagrid nicht den Focus hat, muss man 2 mal auf den Expander klicken, das er sich ausklappt.
In einem andern Fenster habe Ich einen TreeView, auf desen Expander muss Ich jedoch nur einmal klicken, auch wenn das Fenster nicht den Focus hat!

cSharp Projekte : https://github.com/jogibear9988

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo jogibear9988,

kannst du ein wenig Beispielcode posten? Das, was du uns veruscht zu beschrieben, ist sehr oberflächlich. Ich denke, dass es an den Focus Scope liegt. Versuchs mal hiermit.

zero_x

J
jogibear9988 Themenstarter:in
641 Beiträge seit 2007
vor 13 Jahren

Habs mal in einem Bild angehängt:

Wenn man auf das Dreieck im Linken Kreis klickt, klappt der Treeview auf egal ob das Fenster ProjectTree den Focus hat oder nicht.

Beim Rechten Kreis klappt die Gruppe nur aus wenn das Fenster Bausteine den Focus hat!

Von welchem Fenster soll Ich den nun Source einstellen?

Hab mal den Quellcode vom DataGrid.Goupstyle angehängt!


<DataGrid.GroupStyle>
            <GroupStyle>
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding Path=Name}" />
                        </StackPanel>
                    </DataTemplate>
                </GroupStyle.HeaderTemplate>
                <GroupStyle.ContainerStyle>
                    <Style TargetType="{x:Type GroupItem}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type GroupItem}">
                                    <Expander>
                                        <Expander.Header>
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock Text="{Binding Path=Name}" />
                                                <TextBlock Text=" ("/>
                                                <TextBlock Text="{Binding Path=ItemCount}"/>
                                                <TextBlock Text=" Items)"/>
                                            </StackPanel>
                                        </Expander.Header>
                                        <ItemsPresenter />
                                    </Expander>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </GroupStyle.ContainerStyle>
            </GroupStyle>
        </DataGrid.GroupStyle>

cSharp Projekte : https://github.com/jogibear9988