1

我使用組合框控件作爲彈出。我的ComboBox項目是網格。網格中有TreeView控件和兩個按鈕。 TreeView的項目是CheckBoxes。
當我點擊按鈕或複選框下拉菜單保持打開,但當我點擊其他部分的網格下拉我關閉。
有沒有什麼辦法讓它打開,直到我點擊ComboBox之外?
我在Google上看過很多,但還沒有找到任何東西。如何在silverlight ComboBox中打開下拉菜單?

<UserControl.Resources>   
    <common:HierarchicalDataTemplate x:Key="HierarchicalDataTemplate_AddDivision" ItemsSource="{Binding DivisionIDs}"> 
     <StackPanel Orientation="Horizontal"> 
      <CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay}" Click="CheckBox_Click" /> 
      <TextBlock Text="{Binding ToDisplay}"/> 
     </StackPanel> 
    </common:HierarchicalDataTemplate> 
</UserControl.Resources> 
<Grid x:Name="LayoutRoot" Background="White"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="0.5*"/> 
     <ColumnDefinition Width="0.5*"/> 
    </Grid.ColumnDefinitions> 

    <Grid.RowDefinitions> 
     <RowDefinition Height="0.90*"/> 
     <RowDefinition Height="0.10*"/> 
    </Grid.RowDefinitions> 
    <controls:TreeView Height="250" x:Name="itemsToShow" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="230" 
         Grid.ColumnSpan="2" ItemTemplate="{StaticResource HierarchicalDataTemplate_AddDivision}" SelectedItemChanged="itemsToShow_SelectedItemChanged" /> 
    <Button Margin="28,0,22,5" Content="Ok" Grid.Row="1" d:LayoutOverrides="Height" Click="OkButton_Click"/> 
    <Button Margin="23,0,27,5" Content="Cancel" Grid.Column="1" Grid.Row="1" d:LayoutOverrides="Height" Click="CancelButton_Click"/> 
</Grid> 

這是組合框

<ComboBox Grid.Row="1" Width="100" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top" > 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
     <my1:ShowDivisions x:Name="ShowDivs" Loaded="ShowDivs_Loaded" ParentComboBox="{Binding ElementName=addStr2}"/>            
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 

回答

1

這聽起來像你的按鈕沒有在組合框的下拉部分填充的全部空間。

你只需要有按鈕背後AA點擊對象這種情況下,吃任何雜散鼠標點擊:

嘗試用設置爲透明(不只是顏色與0阿爾法背景矩形價值,因爲這是不可點擊的)。

(確保矩形也具有IsHittestVisible設置)。

+0

謝謝,回答。我曾嘗試過邊界控制,但沒有奏效。我會嘗試你的版本。 – 2010-09-23 15:26:14

+0

@Samvel Siradeghyan:如果您有任何問題,請將您的ComboxBox的Xaml貼出。然後我可以測試它併發布修復。 – 2010-09-23 15:29:04

+0

我已經嘗試了你所說的@HiTech Magic,並得到了相同的結果。我也會發布XAML。 – 2010-09-23 15:32:55