2012-06-28 4 views
2

그래서 아래 코드와 같이 콤보 박스가 있습니다.ComboBox 드롭 다운 창이 아래에 나타납니다.

AllowsTransparency="True" Background="Transparent"> 
     <Border CornerRadius="10" Background="Beige" BorderBrush="Aqua" BorderThickness="2"> 
      <Grid> 
       <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> 
        <Label Name="lblText"></Label> 
        <ComboBox Name="cbxNumbers"></ComboBox> 
        <TextBox Name="txtNumbers" Visibility="Collapsed"></TextBox> 
        <Button HorizontalAlignment="Center" Name="btnDone" 
Click="btnDone_Click">That's Right!</Button> 
       </StackPanel> 
       <Button VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="1" 
FontSize="8" Name="btnChangeInput" Click="btnChangeInput_Click">Let me chose the number 
</Button> 
      </Grid> 
     </Border> 

그런 다음이 코드로 채워집니다.

lblText.Content = Text; 
cbxNumbers.Items.Add(5); 
cbxNumbers.Items.Add(10); 
cbxNumbers.Items.Add(50); 
cbxNumbers.Items.Add(100); 
cbxNumbers.Items.Add(1000); 
cbxNumbers.Items.Add(10000); 
cbxNumbers.Items.Add(100000); 
cbxNumbers.Items.Add(1000000); 
cbxNumbers.SelectedIndex = 0; 

내 질문은 왜 내 방 창문 아래에 보여주는 내 Dropdown이다, 분명히? UPDATE

견적 마이크로 소프트

ComboBoxProblem

이 문제를보고 해 주셔서 감사합니다. 이 문제는 조사 대상이지만 .NET 4.0에서는 해결할 수있는 기능이 없을 것입니다. 향후 릴리스에서 문제를 해결할 수있을 때 우리는이 버그를 다시 업데이트 할 것입니다. 감사!

위대한 작품 ... 주위에 어떤 아이디어?

+0

Telerik ASP.NET에서도 같은 문제가 발생합니다. 누군가가 나를 도울 수 있습니까 ??? – SuganR

답변

3

이것은 AllowTransparency=TRUE과 함께 잘 설명 된 버그입니다. Win XP를 실행하는 일부 컴퓨터에서만 발생합니다.

http://connect.microsoft.com/VisualStudio/feedback/details/465964/wpf-combobox-dropdown-list-appears-behind-the-form-when-allowstransparency-true

해결 방법은 here를 발견 :

전에 언급 한 바와 같이

,이 XP에서 계층 창에 문제가 있습니다. 이 문제를 해결하기 위해 WPF 수준에서 수행 할 수있는 작업이 많지 않으며 에 XP가 더 이상 제공되지 않는 경우 이 수정되지 않습니다. 그러나 잠재적 인 해결 방법이 있습니다.

문제의 원인은 WPF가 WindowStyle = None 및 AllowsTransparency = True 인 경우 "Layered Windows"라는 것을 사용한다는 것입니다. 종종 이 작업을 수행하는 이유는 맞춤 윈도우 크롬을 구현하기 위해서입니다. 최근 WPF 팀은 계층화 된 창을 사용하지 않고도 사용자 지정 크롬 을 얻을 수있는 라이브러리를 게시했습니다. 도서관은

http://code.msdn.microsoft.com/WPFShell

이 픽셀 별 투명도를 지원하지 않습니다에서 사용할 수 있지만 일반적으로 시스템에 의해 관리되는 지역을 포함, 윈도우의 완전히 사용자 정의 렌더링 할 수 없습니다. 그것은 당신이 창문의 반경을 설정할 수있게합니다. 완전히 임의의 모양을 가지고 있지는 않습니다. AllowsTransparency = True 대신 라이브러리를 사용할 수 있다면 이 문제를 해결해야합니다.

Microsoft는 hotfix을 발행했지만 문제와 관련된 모든 문제를 해결하지 못했습니다.

+0

견적 Microsoft "이 문제를보고 해주셔서 감사합니다.이 문제는 조사 중이지만 .NET 4.0에서 제공되는 픽스는 없을 것입니다. 다음 릴리스에서 문제를 해결할 수있을 때이 버그를 다시 업데이트 할 것입니다. 고맙습니다. "멋진 해결책이 있습니까? – windowskm

+0

@killianmcc에서 방금 해결 방법을 게시했습니다. 팝업이있는 사용자 지정 크롬이 필요한 경우 사용자 지정 크롬을 만드는 다른 방법을 사용해야합니다. – mydogisbox

+0

그래서 XP 문제일까요? – windowskm

관련 문제