2009-06-12 2 views
55

У меня есть форма ввода заказа, которая имеет ListBox со списком позиций. У меня есть шаблон моих элементов, и одно из значений - ComboBox в каждом из моих элементов.Как я могу «щелкнуть» элемент управления в WPF?

Теперь моя форма может также создать Кредитовое авизо в дополнении к заказам на покупку, но когда я создаю кредитовое авизо, я хочу поставить слова «кредитовое авизо» над списком, однако, TextBlock охватывает ComboBox в двух моих позициях. Я хотел бы передать мое событие click через TextBlock в ComboBox, но я не уверен, как это сделать.

Это то, что у меня есть, (Может быть, я иду на это совершенно неправильно, я своего рода нуб с 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> 

ответ

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

Иногда самые простые вещи. Благодаря тонну. – Russ

Смежные вопросы