[英]Silverlight page content size based on browser size
我得到的是一個包含以下內容的Page類:
<navigation:Page (...) Title="Import">
<Grid x:Name="LayoutRoot">
<ScrollViewer VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto"
Visibility="{Binding Visible}">
<c:BusyIndicator IsBusy="{Binding Busy}">
<StackPanel>
<StackPanel>
<Button/>
</StackPanel>
<Border Background="#c8c8c8" CornerRadius="5">
<sdk:DataGrid Name="myDataGrid" AutoGenerateColumns="False"
ItemsSource="{Binding Imports}" Margin="10" IsReadOnly="True">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="ID" Binding="{Binding ID}" Width=".3*"/>
<sdk:DataGridTextColumn Header="Name" Binding="{Binding Name}" Width=".7*"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</Border>
</StackPanel>
</c:BusyIndicator>
</ScrollViewer>
</Grid>
</navigation:Page>
我試圖完成的工作是,DataGird將始終具有最大可能的寬度和高度。 它的最小寬度和高度也應固定。 當瀏覽器小於DataGrid時,ScrollViewer應該啟用滾動。 我認為“最小/最大寬度/高度”屬性將允許此行為,但我無法使其正常工作。
需要更改標記一針。
StackPanel會擴展到其全部內容,並阻止滾動條可見。 如果在Grid.Row中設置一個值,則網格元素重疊內容。 當您在內容上方設置busyindicator時,這很有用。
<navigation:Page xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="SilverlightApplication1.Page1"
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"
mc:Ignorable="d"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
xmlns:Controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit" d:DesignWidth="640" d:DesignHeight="480"
Title="Page1 Page">
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition MinHeight="150"/>
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0"/>
<Border Grid.Row="1" Background="#c8c8c8" CornerRadius="5">
<sdk:DataGrid Name="myDataGrid" AutoGenerateColumns="False"
ItemsSource="{Binding Imports}" Margin="10" IsReadOnly="True">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="ID" Binding="{Binding ID}" Width=".3*"/>
<sdk:DataGridTextColumn Header="Name" Binding="{Binding Name}" Width=".7*"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</Border>
</Grid>
<Controls:BusyIndicator IsBusy="{Binding Busy}" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid></navigation:Page>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.