[英]What's the best way to add an ui control in the grid at runtime?
這可能是一個基本問題。 但是經過幾個小時的研究,我無法弄清楚。 我有一個物品詳細信息頁面。 每當滾動視圖到達右下角時,我都想在其中添加另一個網格。 現在,我通過在xaml中添加一列並切換其可見性屬性來部分實現此目標。
<Grid x:Name="body" Style="{StaticResource LayoutRootStyle}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid x:Name="dynamicGrid" Grid.Column="1" Grid.RowSpan="2" Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition Height="80"/>
<RowDefinition Height="360"/>
<RowDefinition Height="360"/>
</Grid.RowDefinitions>
<TextBlock .../>
<GridView .../>
<GridView .../>
</Grid>
並在后面的代碼中
if (//Reach the right side)
{
if (related.Visibility == Visibility.Collapsed)
{
related.Visibility = Windows.UI.Xaml.Visibility.Visible;
}
}
if (// Move away from right border)
{
related.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
}
它在某種程度上起作用。 但是動畫是跳動的。 有時,scrollviewer甚至拒絕返回到開始。 我猜問題是當我在運行時添加/刪除ui控件時,scrollviewer不能很好地處理它。
我想知道是否有更好的方法來實現此功能? 任何建議都歡迎。
您可以通過調用grid.Children.Add(newChildControl)在網格中添加子控件。 您還可以通過調用Grid.SetRow / Column / RowSpan / ColumnSpan將子控件分配給特定的行/列/跨度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.