2012-04-26 6 views
0

白グリッドでのListBoxを維持:は、あなたは非常に単純なスタンドアロンの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に高さのexplict宣言が含まれていても、ボックスを永久に白くしたいと思います。これどうやってやるの?
+0

なぜあなたのリストボックスはグリッドを子要素として持つのですか? – blindmeis

+0

さて、上記のおもちゃのアプリケーションは、私が取り組んでいる実際のアプリケーションの非常に単純化されたバージョンです。子要素の型をGridから他のものに変更することは、実際には実現可能ではありません。恐れがあります。 – 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

関連する問題