2009-06-12 9 views
55

Satır öğesi listesiyle ListBox olan bir sipariş giriş formum var. Öğelerim şablonum var ve öğelerimden birinde değerlerden biri ComboBox.WPF'deki bir denetimi nasıl "Tıkladım"?

Şimdi, benim form da emir satın ek olarak Kredi notu en oluşturabilirsiniz, ancak bir kredi notu oluşturma, ben liste kutusunun üzerine kelimeleri "Kredi Bildirimi" koymak istiyorum, ancak, TextBlockComboBox kapakları satır öğelerimin ikisinde. Tıklama etkinliğimi TextBlock aracılığıyla ComboBox es e geçmek isterim ancak nasıl yapacağımı bilmiyorum.

Bu benim, ne var

<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> 

cevap

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

Bazen en basit şeyler, (Belki bu tamamen yanlış olarak geliyorum, WPF ile tür bir çaylak değilim). Bir ton teşekkürler. – Russ