我正在努力完成的简短版本。 有一个带按钮的可滚动网格。 按下按钮后,在现有行内容的右侧注入两个按钮,并将内容水平向左滚动,以便注入布局的第二个按钮的右边缘与屏幕的右边缘对齐。
描述解决方案的更长版本以及遇到的问题:
我在ListView中有一行自定义控件(滚动视图中的网格)。 通常,网格与设备的宽度相同。
节目的明星是 < ColumnDefinition Width =“*”x:Name =“Star”/>
<Label Grid.Row="2" Grid.Column="3" Text="{Binding FacebookId}" x:Name="IDLabel"
Style="{StaticResource SmallLabelStyle}"
HorizontalOptions="Fill"
VerticalOptions="StartAndExpand" BackgroundColor="Red"
/> is assigned to that column later on in xaml
网格中删除和阻止按钮的最后两列最初是零宽度
<ColumnDefinition Width="0" x:Name="cdDelete"/>
<ColumnDefinition Width="0" x:Name="cdBlock"/>
,因此,未显示(使标签的*列的大小正确,因为除标签外,网格中还有一个缩略图,一个按钮和间距列)
在这两个之前,有一个按钮列可以更改 列宽度并滚动滚动视图中的展开网格。
所以我需要一些方法来替换ColumnDefinition的gridLength“*” 与我运行的设备的该列的实际宽度。
this.cdBlock.Width = this.cdDelete.Width = Metrics.ThumbnailDiameter;
if (starwidth <= 0)
{
starwidth = this.IDLabel.Width;
^^^^^^^^^^^^^^^^^^^^^^^^^ problem is here: this returns the width the label fits into, not the actual width of the label highlighted (see red background above)
}
this.Star.Width = new GridLength(starwidth);
如何解决这个问题?
感谢。
答案 0 :(得分:0)
似乎可以使用ViewCell.ContextActions进行杠杆化 平台表编辑功能
这意味着暴露删除/阻止按钮的按钮必须去 除非有办法以编程方式显示上下文的按钮