2009-06-12 6 views
55

J'ai un formulaire de saisie de commande qui a un ListBox avec une liste d'éléments de campagne. J'ai mon modèle d'éléments, et l'une des valeurs est un ComboBox dans chacun de mes articles.Comment puis-je "cliquer sur" un contrôle dans WPF?

Maintenant, mon formulaire peut également créer note de crédit est en plus d'acheter des commandes, mais quand je crée une note de crédit, je veux mettre les mots « note de crédit » sur la liste, cependant, le TextBlock couvre la ComboBox dans deux de mes articles. Je voudrais passer mon événement de clic à travers le TextBlock au ComboBox es mais je ne suis pas sûr de savoir comment le faire.

C'est ce que j'ai, (Peut-être que je viens à ce tout à fait tort, 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> 

Répondre

117
<TextBlock IsHitTestVisible="False" .../> 
+0

Parfois, ce sont les choses les plus simples. Merci beaucoup. – Russ

Questions connexes