簡體   English   中英

將控件保持在可見區域

[英]Keeping controls in the visible area

我有一個網格,其中包含幾個TextBoxes。 我想將此網格固定在主窗口的底部。 因此,如果用戶向下滾動,則網格基本上應該停留在該位置。

我想到的一種方法是從ScrollViewer中獲取某種值,並將其添加到網格Canvas.TopProperty中。 但是,我不確定用戶向上或向下滾動時哪個值會更改。

然后,不要將滾動條放在主窗口上。 僅將ScrollViewer放在要滾動的內容(行)上。 小心不要在ScrollViewer的行高上使用auto,否則容器將增長以支持所有內容,並且Scroll不會起作用。

單程:

<Window x:Class="Sample.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
<Grid>
    <ListBox>
        <!--Hardcoded listbox items just to force the scrollbar for demonstration purposes -->
        <ListBoxItem>Item1</ListBoxItem>
        <ListBoxItem>Item2</ListBoxItem>
        <ListBoxItem>Item3</ListBoxItem>
        <ListBoxItem>Item4</ListBoxItem>
        <ListBoxItem>Item5</ListBoxItem>
        <ListBoxItem>Item6</ListBoxItem>
        <ListBoxItem>Item7</ListBoxItem>
        <ListBoxItem>Item8</ListBoxItem>
        <ListBoxItem>Item9</ListBoxItem>
        <ListBoxItem>Item10</ListBoxItem>
        <ListBoxItem>Item11</ListBoxItem>
        <ListBoxItem>Item12</ListBoxItem>
        <ListBoxItem>Item14</ListBoxItem>
        <ListBoxItem>Item15</ListBoxItem>
        <ListBoxItem>Item16</ListBoxItem>
        <ListBoxItem>Item17</ListBoxItem>
        <ListBoxItem>Item18</ListBoxItem>
        <ListBoxItem>Item19</ListBoxItem>
        <ListBoxItem>Item20</ListBoxItem>
        <ListBoxItem>Item21</ListBoxItem>
        <ListBoxItem>Item22</ListBoxItem>
    </ListBox>
    <Grid Panel.ZIndex="5" VerticalAlignment="Bottom" Background="DarkGray">
        <StackPanel>
            <TextBox HorizontalAlignment="Left" VerticalAlignment="Center">Text box 1</TextBox>
            <TextBox HorizontalAlignment="Left" VerticalAlignment="Center">Text box 2</TextBox>
            <TextBox HorizontalAlignment="Left" VerticalAlignment="Center">Text box 3</TextBox>
        </StackPanel>
    </Grid>
</Grid>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM