2013-09-05 1 views
3

GridSplitter이 사용자 위에 마우스가있을 때만 표시되기를 원합니다. 그 이유로 나는 그 스타일에 DataTrigger을 (를) 설정하고 있습니다. 그러나 원하는 동작을 얻지 못하기 때문에 잘못된 것이 무엇인지 알 수 없습니다. 그것은 그대로 유지됩니다.MouseOver의 gridsplitter visibile

   <GridSplitter 
      ResizeDirection="Columns" 
      ResizeBehavior="BasedOnAlignment" 
      Grid.Column="1" 
      Grid.Row="0" 
      Grid.RowSpan="2" 
      Width="8" 
      Height="Auto" 
      HorizontalAlignment="Left" 
      VerticalAlignment="Stretch" 
       Background="AliceBlue" 
      Margin="-3 0 0 0"> 
       <GridSplitter.Style> 
        <Style TargetType="{x:Type GridSplitter}"> 
         <Setter Property="Visibility" Value="Hidden"/> 
         <Style.Triggers> 
          <DataTrigger Binding="{Binding IsMouseOver}"> 
           <Setter Property="Visibility" Value="Visible"/> 
          </DataTrigger> 
         </Style.Triggers> 
        </Style> 
       </GridSplitter.Style> 
      </GridSplitter> 

잘못된 것이 있습니까? GridSplitter은 다른 방식으로 스타일을 지정해야합니까?

답변

6

나는 트리거 대신 DataTriggers의 사용되어야한다, 그것을 알아 냈 : 그런데

<GridSplitter.Style> 
          <Style TargetType="{x:Type GridSplitter}"> 
           <Setter Property="Background" Value="Transparent"/> 
           <Style.Triggers> 
            <Trigger Property="IsMouseOver" Value="True"> 
             <Setter Property="Background" Value="AliceBlue"/> 
            </Trigger> 
           </Style.Triggers> 
          </Style> 
         </GridSplitter.Style> 
        </GridSplitter> 

, 나는 내가 HiddenVisibility를 설정하면 나는 GridSplitter 타겟팅 할 수 없습니다 생각, 그래서 스위치의 Background 대신

관련 문제