2017-12-12 7 views
-1

私はGridSplitterにいくつかのカスタムコードをテンプレートにしたいと思っていますが、ControlTemplateを上書きすると動作を停止しているようです。カスタムグリッドスプリッターがリサイズされない

私のコードは次のようになります。

<Style x:Key="Vertical_GridSplitter" TargetType="{x:Type GridSplitter}" BasedOn="{StaticResource {x:Type GridSplitter}}"> 
    <Setter Property="BorderBrush" Value="Transparent" /> 
    <Setter Property="Background" Value="Orange" /> 
    <Setter Property="HorizontalAlignment" Value="Left" /> 
    <Setter Property="VerticalAlignment" Value="Stretch" /> 
    <Setter Property="Margin" Value="0,5,0,5" /> 

    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type GridSplitter}"> 

       <Border BorderBrush="{TemplateBinding BorderBrush}" 
         BorderThickness="0" 
         Background="{TemplateBinding Background}" 
         Width="3" 
         HorizontalAlignment="{TemplateBinding HorizontalAlignment}" 
         VerticalAlignment="{TemplateBinding VerticalAlignment}"> 

       </Border> 
      </ControlTemplate>     
     </Setter.Value> 
    </Setter> 
</Style> 

私は私が私のスタイリングせずにデフォルトGridSplitterを使用する場合、それだけで正常に動作しますので、問題は、ないView自体に、ここにあると確信しています。私のコードでは、スタイリングが適用され、マウスカーソルが矢印のように変わりますが、GridSplitterをクリックしてドラッグすると、何もしません。

+0

はマージンセッターと幅= "3" を取り除きますか?問題が発生した場合はレポを提供してください:https://stackoverflow.com/help/mcveレポを提供せずに「機能しない」と主張することは、私が恐れることにはあまり意味がありません。 – mm8

+0

変更される予定はありますか?私はGridSplitterをこのようにしたい。私が言ったように、スタイリングは正しく適用され、GridSplitterのようには機能しません(他のコンテンツをドラッグしてサイズ変更する機能はありません)。 –

答えて

0

自分自身で答えを見つけました。問題はここにあった:

<Setter Property="HorizontalAlignment" Value="Left" /> 

は次のようになります。

<Setter Property="HorizontalAlignment" Value="Stretch" /> 
+0

私の主張は、あなたの質問にスタイル以外のものは含めていないということです。 Gridに実際のGridSplitterがどのように使われているかのサンプルはありません。私は最初のコメントにリンクを掲載しました。私はそれを読むことをお勧めします。幸運といい日があります。 – mm8

関連する問題