2011-03-05 56 views
0

如果已設置組合框的ItemSource屬性,爲什麼可以單擊組合框的下拉按鈕不顯示可用項目列表?這可能與但相同的控制範圍內,則顯示用戶控制背後的任何上下文菜單:WPF組合框項目列表/上下文菜單呈現在父項後面

的XAML該控制如下:

<Border Name="Border" Padding="5"> 
     <ScrollViewer VerticalScrollBarVisibility="Auto"> 
      <ScrollViewer.Resources> 
       <Style TargetType="{x:Type CheckBox}"> 
        <Setter Property="Padding" Value="8,0,0,0"/> 
        <Setter Property="VerticalAlignment" Value="Center"/> 
       </Style>    
      </ScrollViewer.Resources> 
      <Grid> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="*"/> 
       </Grid.RowDefinitions>       
        <Grid Margin="5,4,0,4" > 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="20" /> 
          <ColumnDefinition SharedSizeGroup="labelColumn1" /> 
          <ColumnDefinition SharedSizeGroup="labelColumn2" /> 
          <ColumnDefinition SharedSizeGroup="dataEntryColumn" /> 
          <ColumnDefinition Width="30"/> 
          <ColumnDefinition SharedSizeGroup="labelColumn2"/> 
          <ColumnDefinition SharedSizeGroup="dataEntryColumn" /> 
          <ColumnDefinition MaxWidth="0" /> 
         </Grid.ColumnDefinitions> 
         <Grid.RowDefinitions> 
          <RowDefinition MinHeight="23" /> 
          <RowDefinition MinHeight="23" /> 
          <RowDefinition Height="Auto" /> 
          <RowDefinition Height="Auto"/> 

         </Grid.RowDefinitions> 

         <TextBlock Text="Geometry Type" VerticalAlignment="Center" Grid.Column="1" Grid.Row="0"/>      
         <ComboBox Grid.Column="3" Margin="6,1,0,1" Grid.Row="0" Width="150" 
            Name="cmboGeometryTypes" 
            SelectedItem="{Binding GeometryType, Mode=TwoWay}" 
            HorizontalAlignment="Left" 
            DisplayMemberPath="Name"         
            Grid.ColumnSpan="1"          
           /> 

         <TextBlock Text="Symbol Type" 
            Grid.Column="1" Grid.Row="1" VerticalAlignment="Center"/> 
         <ComboBox 
          Name="cmboSymbolEditors" 
          SelectedItem="{Binding SymbolEditorViewModel, Mode=TwoWay}" 
          HorizontalAlignment="Left" 
          DisplayMemberPath="Alias" 
          Width="150" 
          Grid.Column="3" 
          Margin="6,1,0,1" 
          Grid.Row="1"        
          Grid.ColumnSpan="1" />    
       </Grid> 

       <Label Padding="10,0,0,0" Margin="10,0,0,3" Style="{StaticResource fadingLabelSeperatorStlye}" Grid.Row="1"> 
        Editor 
       </Label> 
       <local:SymbologyEditorControl x:Name="editor" Grid.Row="2"/>        
      </Grid> 
     </ScrollViewer> 
    </Border> 

和下面enter image description here我觀察效果被示出

我該如何解決這個問題?

+0

首先,您是否嘗試添加邊距,以便您可以看到它是否真的在UI的其餘部分之後,或者是否完全沒有繪製出來 –

+0

不,我沒有這樣做。但是,如果我使用ListBox,我會看到ComboBox未顯示的可用項目列表。鑑於與上下文菜單相關的問題,我懷疑組合框列表正在繪製在父項後面。 –

回答

0

有一個共同的WPF錯誤,導致這種行爲的任何Popup類型的用戶界面顯示在後面而不是最上面,這可能是你所看到的。我有一段時間沒有看到這個問題,但我不確定它是否是固定的。它與壞的視頻驅動程序有關,所以你可能只會在某些機器上看到它,而不是所有的時間。

MS支持中提供了一個修補程序,但只需將應用程序切換爲使用軟件渲染,可能會更容易。

+0

你是正確的,它不會發生在非常機器上的應用程序安裝。將尋找修補程序,謝謝。 –