2013-04-15 3 views
2

У меня есть простой 1 столбец ListView, и мне нужно отключить эффект мыши для GridViewColumnHeader.wpf ListView - отключить заголовок мыши над эффектом

Я попытался схватить стиль здесь: http://msdn.microsoft.com/en-us/library/ms788747.aspx

Однако это дало мой заголовок фиолетовый градиент, так что я предполагаю, что это был неправильный стиль. Я замечаю, что имеет

<VisualState x:Name="MouseOver"> 

Но я понятия не имею, как удалить, что без поиска и в том числе правильного стиля GridViewColumnHeader, а затем удалить его.

Я пробовал следующее, но ничего не делает (VisualState переопределяет?) И не будет работать в любом случае, поскольку установка фона на нуль не будет тем, что я хочу.

 <Style x:Key="hcs" TargetType="{x:Type GridViewColumnHeader}"> 
      <Style.Triggers> 
       <Trigger Property="IsMouseOver" Value="True"> 
        <Setter Property="Background" Value="{x:Null}" /> 
        <Setter Property="BorderBrush" Value="{x:Null}" /> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 

ответ

0

Проблема, как вы сказали сами, в визуальном состоянии MouseOver и его раскадровке. Я думаю, что лучше избавиться от избыточной функциональности, чем попытаться переопределить ее позже. Поэтому нам в основном нужен один и тот же стиль, но без этой раскадровки. Для минимума мы должны иметь следующие вещи (можно найти на сайте MSDN по ссылке вы предоставили):

<Color x:Key="BorderLightColor">#FFCCCCCC</Color> 
<Color x:Key="BorderDarkColor">#FF444444</Color> 

<Style x:Key="GridViewColumnHeaderGripper" 
      TargetType="Thumb"> 
     <!-- Full GridViewColumnHeaderGripper style here --> 
</Style> 

<Style TargetType="GridViewColumnHeader"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="GridViewColumnHeader"> 
       <!-- Standard template but with redundant Storyboard removed --> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
    </Style> 

Последний Стиль Безразлично `имеет ключ, это относится ко всему GridViewColumnHeader на странице \ приложении (зависит где он определен). Или вы можете установить ключ и использовать его только в определенных сетках.

Это минимум, поэтому для более настраиваемого подхода может быть лучше скопировать другие части стиля по умолчанию.

Смежные вопросы