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>

これをInternetExplorerで開き、をクリックするListBoxと、青色に変わります。Height="42"ただし、から削除するTHE MAGIC LINEと、クリックしてもボックスは白のままになります。2つの質問があります:

  1. なぜ存在または不在がHeight="42"違いを生むのですか?
  2. THE MAGIC LINE明示的な高さの宣言が含まれている場合でも、ボックスを永続的に白にしたいです。これはどうやるんですか?
4

1 に答える 1

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>

編集:あなたのタイトルはあなたの質問の残りの部分とは何か違うものです。別の何かが必要な場合はコメントを残してください

于 2012-04-26T11:42:52.473 に答える