2009-06-12 6 views
55

Ich habe ein Bestellformular mit einer ListBox mit einer Liste von Werbebuchungen. Ich habe meine Artikelvorlage, und einer der Werte ist ein ComboBox in jedem meiner Artikel.Wie kann ich ein Steuerelement in WPF "durchklicken"?

Jetzt kann mein Formular auch Gutschriften zusätzlich zu Bestellungen erstellen, aber wenn ich eine Gutschrift erstellen, möchte ich die Worte "Gutschrift" über das Listenfeld setzen, aber die TextBlock umfasst die ComboBox in zwei meiner Werbebuchungen. Ich würde gerne meine Click Event durch die TextBlock an die ComboBox es übergeben, aber ich bin mir nicht sicher, wie es geht.

Das ist, was ich habe, (Vielleicht an dieser völlig falsch, ich komme, bin ich irgendwie ein noob mit 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> 

Antwort

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

Manchmal ist es die einfachsten Dinge ist. Danke vielmals. – Russ

Verwandte Themen