繁体   English   中英

WPF中的滚动条无法正确显示并克服TabControl

[英]ScrollBar in WPF not displaying properly and getting over tabcontrol

因此,当我创建一个新的滚动条时,选项卡将其获取。 但是,当我滚动时,它也会跳过应用程序菜单。 我似乎找不到解决方案,并且尝试了所有方法。

我的猜测是它也位于底座面板中,但是我不知道如何设置它,因为如果我添加了一个新的底座面板,它将说“属性Content设置了多次。”

在下面您可以看到代码:

<Window
    xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:ContabilitateMainWPF.Forms.Main"
    xmlns:WPF="clr-namespace:ContabilitateMain.Controls.WPF" x:Class="ContabilitateMainWPF.Forms.Main.FrmMainRibbon"
    mc:Ignorable="d"
    Title="Main" Closing="Window_Closing" Loaded="Window_Loaded" WindowState="Maximized" Icon="/ContabilitateMain;component/Imagini/new_window-512.png" WindowStyle="ToolWindow">
<DockPanel LastChildFill="True">
    <ribbon:Ribbon DockPanel.Dock="Top " Margin="0,-22,0,0">

        <ribbon:Ribbon.ApplicationMenu>
            <ribbon:RibbonApplicationMenu SmallImageSource="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\menu.png">
                <ribbon:RibbonApplicationMenu.AuxiliaryPaneContent >
                    <StackPanel Orientation="Vertical" >
                        <GroupBox>
                            <Label Content="Ceva in group box" />
                        </GroupBox>
                        <StackPanel Orientation="Horizontal"/>
                    </StackPanel>
                </ribbon:RibbonApplicationMenu.AuxiliaryPaneContent>
                <ribbon:RibbonApplicationMenuItem x:Name="Salveaza" Header="Salveaza" />
            </ribbon:RibbonApplicationMenu>
        </ribbon:Ribbon.ApplicationMenu>
        <ribbon:RibbonTab x:Name="OptiuneaA" Header="Coloana A" MouseUp="OptiuneaA_MouseUp">
            <ribbon:RibbonGroup x:Name="T1" Header="Optiunea 1">
                <ribbon:RibbonButton x:Name="NouTab" Label="Tab PNG" LargeImageSource="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\new_window-512.png" Click="NouTab_Click"/>
                <ribbon:RibbonButton x:Name="AltNouTab" Label="Tab JPG" LargeImageSource="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\new.jpg" Click="AltNouTab_Click"/>
            </ribbon:RibbonGroup>
            <ribbon:RibbonGroup x:Name="T2" Header="Optiunea 2">
                <ribbon:RibbonButton x:Name="NouTab2" Label="Tab Nou" LargeImageSource="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\new_window-512.png"/>
                <ribbon:RibbonButton x:Name="AltNouTab2" Label="Tab Secund" LargeImageSource="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\new.jpg"/>
            </ribbon:RibbonGroup>
        </ribbon:RibbonTab>
        <ribbon:RibbonTab x:Name="NouTab1" Header="Coloana B">
            <ribbon:RibbonGroup x:Name="T3" Header="Optiunea 1">
                <ribbon:RibbonButton x:Name="NouTab3" Label="Tab Nou" LargeImageSource="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\new_window-512.png"/>
                <ribbon:RibbonButton x:Name="AltNouTab3" Label="Tab Secund" LargeImageSource="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\new.jpg"/>
            </ribbon:RibbonGroup>
        </ribbon:RibbonTab>
    </ribbon:Ribbon>
    <TabControl x:Name="actionTabs" DockPanel.Dock="Right" Background="White" SelectionChanged="actionTabs_SelectionChanged" >
            <TabControl.ItemTemplate>
                <DataTemplate>
                <StackPanel Orientation="Horizontal" Height="15" Width="100">
                    <TextBlock Width="80" Text="{Binding Header}"/>
                    <Image Source="D:\PlasticWork\ContabilitateNou\ContabilitateMainWPF\Imagini\close.png" Width="20" Height="20" MouseUp="Image_MouseUp"/>
                </StackPanel>
                </DataTemplate>
            </TabControl.ItemTemplate>
        <TabControl.ContentTemplate>
            <DataTemplate x:Name="TabItem1">
                <ScrollViewer>
                <UserControl Content="{Binding Content}" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
               </ScrollViewer>
            </DataTemplate>
            </TabControl.ContentTemplate>
        </TabControl>

</DockPanel>

我希望只显示标签页,但它会滚动所有屏幕。

显然,该错误是因为我试图向窗口窗体添加滚动条,该滚动条是从tabControl内部的<UserControl Content="{Binding Content}"调用的。 由于某种原因,他们彼此联系。 我通过将Scrollviewer添加到UserControl来修复它,它看起来像这样:

 `<UserControl x:Class="ContabilitateMainWPF.Controls.TestUserControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:ContabilitateMainWPF.Controls"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300" SizeChanged="UserControl_SizeChanged">
    <ScrollViewer>
        <Grid x:Name="Grid">
            <Button x:Name="button" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="199,0,0,0"/>
            <Button x:Name="button_Copy" Content="Button" HorizontalAlignment="Left" Margin="141,91,0,0" VerticalAlignment="Top" Width="75"/>
            <Button x:Name="button_Copy1" Content="Button" HorizontalAlignment="Left" Margin="30,195,0,0" VerticalAlignment="Top" Width="75"/>
            <Button x:Name="button_Copy2" Content="Button" HorizontalAlignment="Left" Margin="199,261,0,0" VerticalAlignment="Top" Width="75"/>
            <Label x:Name="label1" Content="LabelTest" HorizontalAlignment="Left" Margin="62,127,0,0" VerticalAlignment="Top"/>
        </Grid>
    </ScrollViewer>
</UserControl>`

希望这对某人有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM