Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# StackPanel ZIndex不工作_C#_Wpf - Fatal编程技术网

C# StackPanel ZIndex不工作

C# StackPanel ZIndex不工作,c#,wpf,C#,Wpf,我想实现这样的目标,在垂直方向上有一个可见的边界(“市场摘要”左侧) 我有一个网格,两列(左边是图片、姓名、电子邮件、列表框),右边是其他所有内容)。我试图通过使用Panel.Zindex将左侧列上的StackPanel带到前面来显示边框,但这没有起到任何作用 <StackPanel Panel.ZIndex="1" Grid.Column="0"> <materialDesign:ColorZone Height="100" Mode="Pri

我想实现这样的目标,在垂直方向上有一个可见的边界(“市场摘要”左侧)

我有一个网格,两列(左边是图片、姓名、电子邮件、列表框),右边是其他所有内容)。我试图通过使用Panel.Zindex将左侧列上的StackPanel带到前面来显示边框,但这没有起到任何作用

    <StackPanel Panel.ZIndex="1"  Grid.Column="0">

        <materialDesign:ColorZone  Height="100"  Mode="PrimaryMid">
            <Border  Padding="8">
                <StackPanel>
                    <Ellipse HorizontalAlignment="Left" VerticalAlignment="Top" Width="48" Height="48" RenderTransformOrigin="-0.014,0.003" Margin="0,0,104,0">
                        <Ellipse.Fill>
                            <ImageBrush ImageSource="RandomPic.jpg" />
                        </Ellipse.Fill>
                    </Ellipse>

                    <TextBlock Text="UsernameX" ></TextBlock>
                    <TextBlock Text="EmailY" ></TextBlock>
                </StackPanel>
            </Border>

        </materialDesign:ColorZone>


        <ListBox  Background="#FAFAFA"  x:Name="DemoItemsListBox">
            <ListBox.Items>
                <TextBlock> What's going on</TextBlock>
                <TextBlock>What's going on</TextBlock>
                <TextBlock>What's going on</TextBlock>
                <TextBlock>What's going on</TextBlock>
            </ListBox.Items>

        </ListBox>

    </StackPanel>


    <StackPanel  Panel.ZIndex="0"   Grid.Column="1">

        <materialDesign:ColorZone Panel.ZIndex="0"    Height="60" Mode="PrimaryMid" />
        <!--
        <dragablz:TabablzControl BorderBrush="#4CAF50" BorderThickness="0" Height="56" >

            <TabItem  Header="                 Ordre de mission                " IsSelected="True">
                <TextBlock><Run Text="Hello World"/></TextBlock>
            </TabItem>
            <TabItem Header="Tab No. 2">
                <TextBlock><Run Text="We Have Tearable Tabs!"/></TextBlock>
            </TabItem>


       </dragablz:TabablzControl>
-->

 <ContentControl></ContentControl>

    </StackPanel>

发生什么事?
发生什么事?
发生什么事?
发生什么事?

WPF StackPanel没有边框,因此将其放在前面不会出现边框

您必须通过插入一个细列并在其中放置边框或分隔符控件,将自己的控件添加到同一网格列的后面或旁边。如果将其放在同一列中,则可能需要调整StackPanel的边距,以使其不会遮挡边框

i、 e


发生什么事?
发生什么事?
发生什么事?
发生什么事?

您的问题是否不清楚?你想做什么?在StackPanel中设置Zindex并不会因为某些原因将Listbox或ColorZone带到前面。你指的是Zindex为1的第一个StackPanel吗?ColorZone和ListBox是这个StackPanel的孩子。是的,我指的是那个StackPanel。我知道他们是孩子,但我希望他们被带到前面,而不是StackPanel 2(Zindex=0)。所以基本上stackpanel中的任何东西都应该放在前面。我的代码在这种情况下没有意义吗?StackPanel 2在另一个网格列中,不是吗?
<Border Grid.Column="0" BorderThickness="0,0,1,0" BorderBrush="Gray"/>
<StackPanel Grid.Column="0" Margin="0,0,2,0">

    <materialDesign:ColorZone  Height="100"  Mode="PrimaryMid">
        <Border  Padding="8">
            <StackPanel>
                <Ellipse HorizontalAlignment="Left" VerticalAlignment="Top" Width="48" Height="48" RenderTransformOrigin="-0.014,0.003" Margin="0,0,104,0">
                    <Ellipse.Fill>
                        <ImageBrush ImageSource="RandomPic.jpg" />
                    </Ellipse.Fill>
                </Ellipse>

                <TextBlock Text="UsernameX" ></TextBlock>
                <TextBlock Text="EmailY" ></TextBlock>
            </StackPanel>
        </Border>

    </materialDesign:ColorZone>


    <ListBox  Background="#FAFAFA"  x:Name="DemoItemsListBox">
        <ListBox.Items>
            <TextBlock> What's going on</TextBlock>
            <TextBlock>What's going on</TextBlock>
            <TextBlock>What's going on</TextBlock>
            <TextBlock>What's going on</TextBlock>
        </ListBox.Items>

    </ListBox>

</StackPanel>