Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
WPF滚动条位置_Wpf_Location_Scrollbar_Stackpanel - Fatal编程技术网

WPF滚动条位置

WPF滚动条位置,wpf,location,scrollbar,stackpanel,Wpf,Location,Scrollbar,Stackpanel,TabItem中有一个Stackpanel,它是TabControl的一部分。当东西添加到StackPanel时,我会出现一个自定义的垂直滚动条。当前它出现在堆栈面板的TabItem控件“顶部”。我想将滚动条的位置移动到TabControl之外。我试着用边距做一些事情,但是当滚动条被推到TabControl的边缘之外时,它就被剪掉了,我再怎么摆弄zindex也没有取得任何成功。任何帮助都将不胜感激莱夫 <TabItem Name="tabItem1" Backgro

TabItem中有一个Stackpanel,它是TabControl的一部分。当东西添加到StackPanel时,我会出现一个自定义的垂直滚动条。当前它出现在堆栈面板的TabItem控件“顶部”。我想将滚动条的位置移动到TabControl之外。我试着用边距做一些事情,但是当滚动条被推到TabControl的边缘之外时,它就被剪掉了,我再怎么摆弄zindex也没有取得任何成功。任何帮助都将不胜感激莱夫

            <TabItem Name="tabItem1" Background="{x:Null}" BorderBrush="#FF48D6EE" IsSelected="True">
                <TabItem.Template>
                    <ControlTemplate TargetType="{x:Type TabItem}">
                        <Grid>
                            <Border Name="Tab1" Margin="0,0,0,0" BorderBrush="#FF002648" BorderThickness="1,0,1,1" CornerRadius="0,0,3,3">
                                <Border.Effect>
                                    <DropShadowEffect ShadowDepth="0" Color="#FF3Ed3F4" Opacity=".5" BlurRadius="2"/>
                                </Border.Effect>
                            </Border>
                            <HeaderedContentControl Name="TabHeaderText" 
                                                TextBlock.FontFamily="Aharoni" 
                                                TextBlock.FontWeight="Bold" 
                                                TextBlock.Foreground="#FF214c6d" 
                                                TextBlock.FontSize="18" 
                                                Header="Tab1" 
                                                Margin="10,1,10,0" 
                                                VerticalAlignment="Center" 
                                                HorizontalAlignment="Center"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter TargetName="Tab1" Property="Background">
                                    <Setter.Value>
                                        <LinearGradientBrush StartPoint=".5,0" EndPoint=".5,1">
                                            <GradientStop Color="#FF000a13" Offset="0" />
                                            <GradientStop Color="#FF06335c" Offset="0.5" />
                                            <GradientStop Color="#FF33bbdb" Offset="1" />
                                        </LinearGradientBrush>
                                    </Setter.Value>
                                </Setter>
                                <Setter TargetName="Tab1" Property="Effect">
                                    <Setter.Value>
                                        <DropShadowEffect ShadowDepth="0" Color="#FF3ccbee" Opacity="1" BlurRadius="5"/>
                                    </Setter.Value>
                                </Setter>
                                <Setter TargetName="Tab1" Property="BorderBrush" Value="#FF48d6ed"/>
                                <Setter TargetName="Tab1" Property="BorderThickness" Value="1,0,1,1" />
                                <Setter TargetName="Tab1" Property="Header">
                                    <Setter.Value>
                                        <custom:OutlinedText FontSize="18" 
                                                            FontFamily="Aharoni" 
                                                            FontWeight="ExtraBold" 
                                                            Fill="Black" 
                                                            Stroke="#ff3bb1db" 
                                                            StrokeThickness=".75" 
                                                            Text="Tab1"/>
                                    </Setter.Value>
                                </Setter>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </TabItem.Template>
                <ScrollViewer HorizontalScrollBarVisibility="Disabled" 
                        VerticalScrollBarVisibility="Auto"
                        Template="{StaticResource ScrollViewerControlTemplate}">
                    <StackPanel Name="panelTab1" HorizontalAlignment="Left" VerticalAlignment="Top"/>
                </ScrollViewer>
            </TabItem>

我们遇到了类似的问题。我们发现,WPF在裁剪时不会绘制具有负边距的对象。当包含TabItem控件的其中一个元素设置了MinHeight,并且窗口缩小到MinHeight以下时,剪裁开始发挥作用。默认情况下,滚动条为零件垂直滚动条使用负边距

解决方案是确保没有在任何可能包含TabItem的容器上设置MinHeight。如果需要使用最小高度,请在顶层视图中进行设置

Snoop工具对于调试WPF布局问题非常有用