58 votes

Comment puis-je "cliquer à travers" un contrôle dans WPF ?

J'ai un formulaire d'entrée de commande qui a un ListBox avec une liste de postes. J'ai mon modèle d'articles, et l'une des valeurs est un numéro d'article. ComboBox dans chacun de mes articles.

Maintenant, mon formulaire peut également créer des notes de crédit en plus des bons de commande, mais lorsque je crée une note de crédit, je veux mettre les mots "Note de crédit" au-dessus de la zone de liste, cependant, le système de gestion de l'information de l'entreprise n'est pas en mesure de le faire. TextBlock couvre le ComboBox dans deux de mes postes. J'aimerais faire passer l'événement de clic par la fonction TextBlock à la ComboBox es mais je ne sais pas comment faire.

Voici ce que j'ai, ( Peut-être que je m'y prends mal, je suis un peu un noob avec WPF )

<ListBox SelectionMode="Single" Grid.Row="2" 
         ItemsSource="{Binding Path=LineItems}" HorizontalContentAlignment="Stretch" 
         IsSynchronizedWithCurrentItem="True" Background="#66FFFFFF">
    <ListBox.ItemContainerStyle>
        <Style TargetType="{x:Type ListBoxItem}">
            <Setter Property="Background" Value="WhiteSmoke"/>
            <Setter Property="BorderThickness" Value="1" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=IsPartBackOrder}" Value="True">
                    <Setter Property="Background" Value="Orange" />
                </DataTrigger>                       
            </Style.Triggers>
        </Style>
    </ListBox.ItemContainerStyle>
    <ListBox.ItemTemplate>
        <DataTemplate DataType="{x:Type Entities:SalesOrderLineItem}" >
            <OrderEntry:SalesOrderLineItemCreate DataContext="{Binding}" DeleteSalesOrderLineItem="DeleteSalesOrderLineItem" Margin="0,3,3,0" >
                <OrderEntry:SalesOrderLineItemCreate.Resources>
                    <Style TargetType="{x:Type OrderEntry:SalesOrderLineItemCreate}">
                        <Style.Triggers>
                            <DataTrigger 
                                    Binding="{Binding RelativeSource=
                                      {
                                         RelativeSource 
                                         Mode=FindAncestor, 
                                         AncestorType={x:Type ListBoxItem}
                                      }, 
                                      Path=IsSelected
                                     }" Value="True">
                                <Setter Property="Background" Value="LightBlue" />
                                <Setter Property="Foreground" Value="Black" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </OrderEntry:SalesOrderLineItemCreate.Resources>
            </OrderEntry:SalesOrderLineItemCreate>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

<TextBlock Grid.Row="2" 
           Text="Credit Memo" 
           HorizontalAlignment="Center"
           VerticalAlignment="Center"
           FontSize="48" Height="Auto"
           FontStyle="Italic"
           Foreground="Red"
           Opacity=".25">
    <TextBlock.Style>
        <Style TargetType="{x:Type TextBlock}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=OrderType}" Value="CR">
                    <Setter Property="Visibility" Value="Visible" />
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=OrderType}" Value="CU">
                    <Setter Property="Visibility" Value="Hidden" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>

133voto

Kent Boogaart Points 97432
<TextBlock IsHitTestVisible="False" .../>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X