WPF Scrollview用户控件

时间:2018-10-11 17:35:44

标签: c# wpf

我正在尝试为我的UserControl添加一个ScrollBar,我有一个左侧的菜单,一个顶部栏,在顶部栏下方是放置UserControl的内容,因此仅该内容需要一个ScrollBar。

我是通过将代码包装在<ScrollView></ScrollView>中的UserControl中来完成此操作的 一切正常,但不是全部正常,当我将高度设置为“自动”时,内容将不再可滚动...如果将其设置为500px,则可以正常工作,但这没有意义,为什么我要将内容设置为500px,我希望ScrollBar与Windows大小相同,并且总是和Window一样大。

微软(<StackPanel Scrollbar="Auto" />)可能是如此简单... ...但是为什么容易...

(是的,我在这里找到了一些存在相同问题的帖子,但没有人解决我的问题)

<UserControl x:Class="mausys.telegram"
         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:mausys"
         mc:Ignorable="d" Width="Auto" Height="500">

    <Grid Background="Aqua">
    <ScrollViewer VerticalScrollBarVisibility="auto" >
        <StackPanel Grid.Column="0" >
            <TextBox x:Name="telegramtextBox" HorizontalAlignment="Left" Height="23" Margin="48,78,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
            <TextBox x:Name="telegramtextBox1" HorizontalAlignment="Left" Height="23" Margin="48,153,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
            <Label x:Name="telegramlabel" Content="Phone Number:" HorizontalAlignment="Left" Margin="48,52,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.219,-0.282" Width="106" Height="26"/>
            <Label x:Name="telegramlabel1" Content="Verifycation Code:" HorizontalAlignment="Left" Margin="48,122,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.506,-4.269"/>
            <Button x:Name="telegrambutton" Content="Verify" HorizontalAlignment="Left" Margin="173,156,0,0" VerticalAlignment="Top" Width="75" RenderTransformOrigin="-0.234,0.571"/>
            <Button x:Name="Telegrambutton1" Content="Login" HorizontalAlignment="Left" Margin="173,78,0,0" VerticalAlignment="Top" Width="75" Click="Phone_Click"  />
            <Button x:Name="tglogin" Click="tglogin_Click" Content="TG LogIn" HorizontalAlignment="Left" Background="BlanchedAlmond" Width="120" Margin="277,52,323,928" />
            <Button x:Name="feedy" Click="feedy_Click" Content="feedy" HorizontalAlignment="Left" Background="BlanchedAlmond" Width="120" Margin="277,13,323,967" />
            <Button x:Name="tbrowser" Content="Open Browser" HorizontalAlignment="Left" Background="BlanchedAlmond" Width="120" Margin="277,86,323,894" />
            <Label x:Name="telegramlabel2" Content="Telegram Account Login" HorizontalAlignment="Left" FontWeight="Bold" Margin="48,10,0,0" VerticalAlignment="Top"/>
            <TabControl x:Name="tabControl" HorizontalAlignment="Left" Height="343" Margin="48,181,0,0" VerticalAlignment="Top" Width="215">
                <TabItem Header="TabItem">
                    <Grid Background="#FFE5E5E5"/>
                </TabItem>
                <TabItem Header="TabItem">
                    <Grid Background="#FFE5E5E5"/>
                </TabItem>
                <ListBox x:Name="listBox" Height="100" Width="100"/>
            </TabControl>
            <ListView x:Name="listView" HorizontalAlignment="Left" Height="151" Margin="277,122,0,0" VerticalAlignment="Top" Width="134">
                <ListView.View>
                    <GridView>
                        <GridViewColumn/>
                    </GridView>
                </ListView.View>
            </ListView>
            <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="10,529,0,0" VerticalAlignment="Top" Width="300" Height="126"/>
            <Button x:Name="button2" Content="Button" HorizontalAlignment="Left" Margin="10,660,0,0" VerticalAlignment="Top" Width="75" Height="330"/>
        </StackPanel>
</ScrollViewer>
</Grid>

<Window x:Class="xyz.MainWindow"
    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:fa="http://schemas.fontawesome.io/icons/"
    xmlns:local="clr-namespace:mausys"
    xmlns:local1="clr-namespace:mausys.UserControls"
    mc:Ignorable="d"
    Title="mausys" Height="Auto" Width="1596" WindowStyle="SingleBorderWindow" >

<!--Status and Revisions-->
<WindowChrome.WindowChrome>
    <WindowChrome CaptionHeight="85" />
</WindowChrome.WindowChrome>

<Border>
    <DockPanel>
    <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="160" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>

            <!--Menu Left-->

            <!--Hover effect-->
            <StackPanel Grid.Column="0" Background="#23282D" >
                <Label  Foreground="#9EA3A8" FontWeight="Bold" FontSize="18" HorizontalAlignment="Left" Margin="15 0 0 5" >
                    <StackPanel Orientation="Horizontal">
                        <Image Source="img/logomausys.png" Width="35" Height="32" />
                        <TextBlock Text="MAUSYS" />
                    </StackPanel>
                </Label>
                <Button Background="#23282D" WindowChrome.IsHitTestVisibleInChrome="True" Foreground="#F1F1F1" FontSize="14" HorizontalContentAlignment="Left" Padding="10" BorderThickness="0" Height="44" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="Dashboard" Foreground="#9EA3A8" Height="15" Width="15" Margin="10 0 6 0" />
                        <TextBlock Text="Dashboard" />
                    </StackPanel>
                </Button>
                <Button Background="#23282D"  Foreground="#F1F1F1" FontSize="14" HorizontalContentAlignment="Left" Padding="10" BorderThickness="0"  Height="44" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="MLink" Foreground="#9EA3A8" Height="15" Width="15" Margin="10 0 6 0" />
                        <TextBlock Text="MLink" />
                    </StackPanel>
                </Button>
                <Button Background="#23282D" Foreground="#F1F1F1" FontSize="14" HorizontalContentAlignment="Left" Padding="10" BorderThickness="0"  Height="44" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="MLink" Foreground="#9EA3A8" Height="15" Width="15" Margin="10 0 6 0" />
                        <TextBlock Text="MLink" />
                    </StackPanel>
                </Button>
                <Button Background="#23282D" Foreground="#F1F1F1" FontSize="14" HorizontalContentAlignment="Left" Padding="10" BorderThickness="0"  Height="44" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="Angellist" Foreground="#9EA3A8" Height="15" Width="15" Margin="10 0 6 0" />
                        <TextBlock Text="MLink" />
                    </StackPanel>
                </Button>
                <Button Background="#23282D" Foreground="#F1F1F1" FontSize="14" HorizontalContentAlignment="Left" Padding="10" BorderThickness="0"  Height="44" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="Anchor" Foreground="#9EA3A8" Height="15" Width="15" Margin="10 0 6 0" />
                        <TextBlock Text="MLink" />
                    </StackPanel>
                </Button>
                <!--SEPARATOR-->
                <Separator Background="#9EA3A8" Margin="0 10 0 10 " />

                <Button Background="#23282D" Foreground="#F1F1F1" FontSize="14" HorizontalContentAlignment="Left" Padding="10" BorderThickness="0"  Height="44" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="AddressBook" Foreground="#9EA3A8" Height="15" Width="15" Margin="10 0 6 0" />
                        <TextBlock Text="MLinks" />
                    </StackPanel>
                </Button>
                <Button Background="#23282D"  Foreground="#F1F1F1" FontSize="14" HorizontalContentAlignment="Left" Padding="10" BorderThickness="0"  Height="44" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="CalendarPlusOutline" Foreground="#9EA3A8" Height="15" Width="15" Margin="10 0 6 0" />
                        <TextBlock Text="MLink" />
                    </StackPanel>
                </Button>

                <Label  Foreground="#9EA3A8" FontSize="12" HorizontalAlignment="Left" Margin="5 30 0 5" >
                    <StackPanel Orientation="Horizontal">
                        <fa:ImageAwesome Icon="ArrowCircleLeft" Foreground="#9EA3A8" Height="15" Margin="10 0 6 0" />
                        <TextBlock Text="MLink"  />
                    </StackPanel>
                </Label>
            </StackPanel>
            <!--APP Content-->
            <StackPanel Grid.Column="1" Background="#F1F1F1" >
                <!--Top Bar-->
                <Grid VerticalAlignment="Top" Background="#23282D" >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>

                    <StackPanel Grid.Column="0" VerticalAlignment="Center" >
                        <TextBlock Text="hhh" FontWeight="Bold" Foreground="#9EA3A8" Margin="6 0 0 0" />
                    </StackPanel>

                    <StackPanel Grid.Column="1" >

                    </StackPanel>

                <StackPanel Height="31" Grid.Column="2" VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Right" >

                </StackPanel>

            </Grid>
                <!--Window Controls & Console -->
            <Grid VerticalAlignment="Top" Background="#0073AA" >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <StackPanel WindowChrome.IsHitTestVisibleInChrome="True" Grid.Column="0" VerticalAlignment="Center" >
                    <Button Content="ADD NEW" Width="70" Height="50" HorizontalAlignment="Left" Margin="10 0 0 0" />
                </StackPanel>

                <StackPanel Grid.Column="1" >

                </StackPanel>

                <StackPanel  Grid.Column="2" WindowChrome.IsHitTestVisibleInChrome="True" Height="60" VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Right" >
                    <Button fa:Awesome.Content="WindowMinimize" Foreground="#0073AA" Background="White" Content="_" Height="31" Width="31" Margin="3" Name="MinimizeButton" Click="MinimizeButton_Click" />
                    <Button fa:Awesome.Content="WindowMaximize" Foreground="#0073AA" Background="White" Content="[]" Height="31" Width="31" Margin="3" Name="MaximizeButton" Click="MaximizeButton_Click" />
                    <Button fa:Awesome.Content="Close" Foreground="#0073AA" Background="White" Content="X" Height="31" Width="31" Margin="3 3 20 3" Name="CloseButton" Click="CloseButton_Click" />
                </StackPanel>

            </Grid>

            <!--Window Controls & Console -->
                <Grid VerticalAlignment="Top" Background="Beige">

                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <StackPanel Grid.Column="0" VerticalAlignment="Center" >
                    <!--local:telegram />-->
                    </StackPanel>

                 </Grid>


            <!--User Controls HERE ARE THE USER CONTROLS-->

            <local:telegram />

        </StackPanel>

            </Grid>
    </DockPanel>
</Border>

0 个答案:

没有答案