Laden...

Trigger problem...

Erstellt von Ayke vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.093 Views
Ayke Themenstarter:in
643 Beiträge seit 2006
vor 13 Jahren
Trigger problem...

Ich nochmal...
Möchte einen Button unsichtbar machen wenn HasItems True ist.
Hab schon einige Varianten probiert.

Wenn ich das über Style.Triggers mache funktioniert es. Da kann ich meinen Button aber leider nicht mit einen Event ausstattung.

    <ListBox.Template>
        <ControlTemplate TargetType="ctrl:FilterView">
                   <Border BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}" 
                                Background="{TemplateBinding Background}"
                                CornerRadius="{TemplateBinding Rounding}"
                                SnapsToDevicePixels="True">
                <Grid>
                    <StackPanel IsItemsHost="True"/>
                    <Button Name="buttonCreate"  Content="Filter Table" Width="75" Height="22" HorizontalAlignment="Left" VerticalAlignment="Top" Click="buttonCreate_Click">
                        <Button.Triggers>
                            <Trigger Property="HasItems" Value="False">
                                <Setter Property="Visibility" Value="Hidden" TargetName="buttonCreate"/>
                            </Trigger>
                        </Button.Triggers>
                    </Button>
                </Grid>
            </Border>
        </ControlTemplate>
    </ListBox.Template>

Fehlermeldung:
Bei der Initialisierung von "System.Windows.Controls.Button" wurde eine Ausnahme ausgelöst.

    <ListBox.Template>
        <ControlTemplate TargetType="ctrl:FilterView">            
        <Border BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}" 
                                Background="{TemplateBinding Background}"
                                CornerRadius="{TemplateBinding Rounding}"
                                SnapsToDevicePixels="True">
                <Grid>
                    <StackPanel IsItemsHost="True"/>
                </Grid>
            </Border>
            
        </ControlTemplate>
    </ListBox.Template>
    <ListBox.Triggers>
        <Trigger Property="HasItems" Value="False">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ctrl:FilterView">
                        <Border BorderBrush="{TemplateBinding BorderBrush}"
                                        BorderThickness="{TemplateBinding BorderThickness}" 
                                        Background="{TemplateBinding Background}"
                                        CornerRadius="{TemplateBinding Rounding}"
                                        SnapsToDevicePixels="True">
                            <Grid>
                                <Button Name="buttonCreate" Content="Filter Table" Width="75" Height="22" HorizontalAlignment="Left" VerticalAlignment="Top" Click="buttonCreate_Click"/>
                            </Grid>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Trigger>
    </ListBox.Triggers>

Fehlermeldung:
Member "HasItems" ist nicht gültig, da er nicht über einen qualifizierenden Typnamen verfügt.

6.862 Beiträge seit 2003
vor 13 Jahren

Hallo,

der Trigger weiß nicht automatisch, dass er in ner ListBox deklariert wird. Wie die Fehlermeldung schon sagtm, musst du das Property komplett mit deklarierenden Typ angeben.

Da kann ich meinen Button aber leider nicht mit einen Event ausstattung.

Verwende lieber gleich Commands.

Baka wa shinanakya naoranai.

Mein XING Profil.