none
[wpf4] Tirggere su une elemento in base al valore della proprietà di un altro elemento RRS feed

  • Domanda

  • Chiedo scusa per il titolo del post ma non sapevo come esprimere il concetto.

    In realtà il mio obbiettivo è è il seguente

    Ho una listview con impostata la view in gridview, poi ho una textblock

    Ora quello che vorrei ottenere è che se la proprietà Text della mia textblock è uguale a 1 allora mi deve mostrare l'header altrimenti me lo deve nascondere.

    Per farlo ho creato il seguente codice xaml

            <Style x:Key="myHeaderStyleVisible" TargetType="{x:Type GridViewColumnHeader}">
                <Setter Property="Visibility" Value="Visible"  />
            </Style>
            <Style x:Key="myHeaderStyleCollapsed" TargetType="{x:Type GridViewColumnHeader}">
                <Setter Property="Visibility" Value="Collapsed" />
            </Style>

    che rappresentano per la mia gridview la mia listview è così formata

            <ListView ItemsSource="{Binding}" Name="lv_Foglio" ...... >
                <ListView.View>
                    <GridView x:Name="gv" ColumnHeaderTemplate="{Binding Source={StaticResource myHeaderStyleCollapsed}}">
                        <GridViewColumn ....>
                        <GridViewColumn ....>
                        <GridViewColumn ....>
                        <GridViewColumn ....>
                    </GridView>
                </ListView.View>
            </ListView>

    Poi ho la mia textblock così configurata

            <TextBlock Height="23" HorizontalAlignment="Left" Margin="7,30,0,0" Name="txbl_Id" Text="TextBlock" VerticalAlignment="Top" Width="38" FontWeight="ExtraBold" >
                <TextBlock.Triggers >
                    <Trigger SourceName="txbl_Id" Property="Text" Value="1">
                        <Setter TargetName="gv" Property="ColumnHeaderTemplate" Value="{StaticResource myHeaderStyleVisible}"/>
                    </Trigger>
                </TextBlock.Triggers>
            </TextBlock>

    Il problema è che mi dice che

    il membro 'Text' non è valido perché non dispone di un nome di tipo valido.

    E fa riferimento alla trigger della textblock.

    Come posso risolvere il mio problema?

    In realtà io vorrei che quando txbl_Id abbia proprietà text = 1 allora le header della list vengano visualizzate altrimenti vengano nascoste.

    Come posso fare?

    Vi ringrazio

    Francesco Valentino

    mercoledì 4 aprile 2012 09:58

Risposte