2012-04-26 2 views
0

흰색 그리드에서 목록 상자를 유지 :는 매우 간단한 독립 XAML 파일이 여기에

<!-- MyListBox.xaml --> 
<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainPage" Height="100" Width="525"> 
    <ListBox> 
     <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="42"></RowDefinition><!-- THE MAGIC LINE--> 
      </Grid.RowDefinitions> 
     </Grid> 
    </ListBox> 
</Page> 

Internet Explorer에서이를 열고 ListBox을 클릭하면, 그것은 파란색으로 변합니다. 그러나 Height="42"THE MAGIC LINE에서 제거하면 클릭 할 때 상자가 흰색으로 유지됩니다. 질문이 두 개 있습니다.

  1. Height="42"의 존재 여부는 어떤 차이가 있습니까?
  2. THE MAGIC LINE에 높이 선언문이 포함되어 있어도 상자를 영구히 흰색으로 만들고 싶습니다. 어떻게 할 수 있니?
+0

ListBox에 Grid가 자식 요소로 표시되는 이유는 무엇입니까? – blindmeis

+0

음, 위의 장난감 응용 프로그램은 내가 작업하고있는 실제 응용 프로그램의 매우 단순화 된 버전입니다. 자식 요소의 유형을 그리드에서 다른 것으로 변경하는 것은 실제로 가능하지 않습니다. 두렵습니다. – user181813

답변

2

파란색이 목록 상자의 기본 선택 색상입니다. 다음 중 하나를 설정하는 가장 쉬운 방법은 다음을 설정하는 것입니다.

<ListBox> 
     <ListBox.Resources> 
      <Style TargetType="{x:Type ListBox}"> 
       <Style.Resources> 
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/> 
       </Style.Resources> 
      </Style> 
     </ListBox.Resources> 
     <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="42"></RowDefinition> 
       <!-- THE MAGIC LINE--> 
      </Grid.RowDefinitions> 
     </Grid> 
    </ListBox> 

EDIT : 귀하의 제목은 귀하의 나머지 질문과 다른 내용입니다.

+0

글쎄, 이제 제목을 변경했습니다. – user181813

+0

내 스타일이 원하는대로 했습니까? – blindmeis

+0

그것은 매력처럼 작동합니다, 감사합니다! – user181813