私は小さなビジュアルデザイナーを開発しており、要素をインデックスする機能を実装する必要があります。すべての要素は、それぞれ独自の可視性レベルを持っています。私は主要な要素にZIndexを使用していないので、ビジュアルツリーに表示されます。しかし、すべての要素がセットインデックスモードにあるときは、インデックス番号を持つ領域があります。問題は、これらの領域が親のzindexを継承することです。私はこれらの地域のzindex = 1000を設定しようとしましたが、それは役に立たなかった。子要素のWPF Panel.ZIndex
<ControlTemplate x:Key="IndexRegion" TargetType="ContentControl">
<Border>
<StackPanel Orientation="Horizontal">
<!--<TextBlock Text="Индекс: "></TextBlock>-->
<TextBlock Text="{Binding TabIndex}"></TextBlock>
</StackPanel>
</Border>
</ControlTemplate>
<Style x:Key="IndexRegionStyle" TargetType="ContentControl">
<Setter Property="HorizontalAlignment" Value="Left"></Setter>
<Setter Property="Margin" Value="1 -15 0 0"></Setter>
<Setter Property="Visibility" Value="{Binding IsTabIndexVisible, Mode=OneWay, Converter={StaticResource VisibilityOfBool}}"></Setter>
<Setter Property="Panel.ZIndex" Value="1000"></Setter>
</Style>
<DataTemplate DataType="{x:Type viewModel:WizardFormTextFieldViewModel}">
<wfSurface:DesignSurfaceItemContainer Width="{Binding Width}" Height="{Binding Height}" ClipToBounds="False">
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<ContentControl Style="{StaticResource IndexRegionStyle}" Template="{StaticResource IndexRegion}">
</ContentControl> --- this is an index region
<Border Style="{StaticResource WrongElement}">
<Border Style="{StaticResource TextFieldStyle}">
</Border>
</Border>
</Grid>
</wfSurface:DesignSurfaceItemContainer>
</DataTemplate>
すべての領域をすべての主要要素よりも上にするにはどうすればよいですか?
ありがとうございました!
コードを整理してください。あなたは行の先頭に4つのスペースを押すことでそれを行うことができます – om471987
はい、私はちょうどそれをやった。 –