グリッドが4つあります。最初の列には、ZIndexが99で内部がエキスパンダーのキャンバスがあります。展開方向は右に設定されます。ヘッダーをクリックすると、エキスパンダーが列2の上に展開されます...これはまさに私が望むものです。私はこれを(逆方向のみ)列4内に複製しようとしているので、展開すると3列目に表示されます。2番目のエクスパンダのExpandDirectionを "Left"にマークしたにもかかわらず、右、画面外です。ここでキャンバス内にWPFエキスパンダーが展開されない
は作業エキスパンダーである:ここでは
<Canvas Grid.Column="0" Panel.ZIndex="99" Grid.RowSpan="4" VerticalAlignment="Stretch" Margin="0,5">
<Expander ExpandDirection="Right" Style="{DynamicResource OptionsExpanderStyle}" VerticalAlignment="Stretch" Height="{Binding ActualHeight, RelativeSource={RelativeSource AncestorType={x:Type Canvas}}}">
<Border BorderBrush="Black" BorderThickness="0,0,2,0">
<Grid Background="White">
</Grid>
</Border>
</Expander>
</Canvas>
は壊れエキスパンダーです:
<Canvas x:Name="rightCanvas" Panel.ZIndex="99" Grid.RowSpan="4" Grid.Column="3" Margin="0,5">
<Expander ExpandDirection="Left" Style="{DynamicResource OptionsExpanderStyle}" HorizontalAlignment="Right" VerticalAlignment="Stretch" Height="{Binding ActualHeight, RelativeSource={RelativeSource AncestorType={x:Type Canvas}}}">
<Border BorderBrush="Black" BorderThickness="2,0,0,0">
<Grid Background="White" Width="150">
</Grid>
</Border>
</Expander>
</Canvas>
なぜキャンバスを使用して:
はそのような何かを試してみてください? –
@ NicolasRepiquet、それは私が列2と3にあるコントロールの残りの部分を拡張することを可能にする私が見つけた唯一の方法でした。これを行うための他の方法?単純にZIndexをエキスパンダーの上に置くだけでは機能しません。 – Thelonias