带编辑器的xamarin.Forms DataGrid

时间:2017-07-21 13:17:29

标签: datagrid xamarin.forms alignment editor

我正在尝试使用以下代码在Xamarin.Forms.DataGrid单元格中嵌入编辑器(灵感来自this sample

<ContentPage.Content>
<StackLayout>
<dg:DataGrid ItemsSource="{Binding Items}" SelectionEnabled="True" SelectedItem="{Binding SelectedItem}"
           RowHeight="70" HeaderHeight="50" PullToRefreshCommand="{Binding RefreshCommand}" IsRefreshing="{Binding IsRefreshing}">
<dg:DataGrid.Columns>
<dg:DataGridColumn Title="Col. 1" PropertyName="Prop. 1" Width="0.7*">
    <dg:DataGridColumn.CellTemplate>
        <DataTemplate>
            <Entry Text="{Binding}" />
        </DataTemplate>
    </dg:DataGridColumn.CellTemplate>
</dg:DataGridColumn>
</dg:DataGrid.Columns>
</dg:DataGrid>
</StackLayout>
</ContentPage.Content>

现在工作正常,但编辑后的文本在单元格的左上角对齐。所以我尝试使用以下对齐参数之一:

HorizontalOptions="Center" VerticalOptions="Center"
<!-- or >
HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"

但在这两种情况下,我最终都以单元格为中心的文本,但现在,编辑器不会扩展(看起来好像我有填充)...而且结果是CenterCenterAndExpand实际上是相同的:

enter image description here

有人能帮助我获得理想的结果吗?

编辑:使用完整网格定义更新

奖励问题:如何摆脱编辑的边界?

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

<Entry Text="{Binding}" HorizontalTextAlignment="Center" />

奖励回答:要摆脱边框,您需要自定义渲染器。

enter image description here