我在XAML代码中定义了一个DataGrid:
<syncfusion:SfDataGrid x:Name="PasswdVw" Grid.Row="2" Grid.Column="2" Grid.RowSpan="2" ItemsSource="{Binding PassWrd}"
SelectedRow="{Binding SelPassRws, Mode=TwoWay}" GridLinesVisibility="Both" SelectionMode ="Multiple" NavigationMode="Row"
Margin="20,20,0,0" HeaderRowHeight="35" ColumnWidthMode="Fill"
VerticalScrollBarVisibility="Always" SortingMode="Single">
<syncfusion:SfDataGrid.DefaultStyle>
<syncfusion:DataGridStyle RowBackground="white" SelectedRowTextColor="White" SelectionBackground="blue"
HeaderRowBackground="#C5C5C5" HeaderRowTextColor="Black" HeaderRowFontAttributes="Bold"/>
</syncfusion:SfDataGrid.DefaultStyle>
<syncfusion:SfDataGrid.Columns>
<syncfusion:DataGridTextColumn MappingName="PassId" Width="0"/>
<syncfusion:DataGridTextColumn MappingName="PassUsrname" HeaderText="User Name"/>
<syncfusion:DataGridTextColumn MappingName="PassPassword" HeaderText="Password"
Width="150"/>
<syncfusion:DataGridTextColumn MappingName="PassUrl" HeaderText="Web Site"/>
</syncfusion:SfDataGrid.Columns>
</syncfusion:SfDataGrid>
当我运行我的程序时,带有MappingName=“PassUrl”的列总是填充网站地址。但是,它们仅显示为文本字符串。有没有办法把这些字符串转换成一个可点击的超链接?
另外,是否有一种方法可以手动调整列的大小,以便用户可以在运行时根据需要调整每个列的大小?
1条答案
按热度按时间6tqwzwtp1#
您可以使用
TapGestureRecognizer
创建超链接。以下是创建超链接的步骤:
TextColor
和TextDecoration
属性。TapGestureRecognizer
添加到Label或Span的GestureRecognizers集合,其Command属性绑定到ICommand
,其CommandParameter
属性包含要打开的URL。TapGestureRecognizer
执行的ICommand
。ICommand
执行的代码。下面是代码示例:
点击超链接时,TapGestureRecognizer将通过执行
Command
属性定义的ICommand
来响应。此外,CommandParameter
属性指定的URL将作为参数传递给ICommand
。XAML页面的代码隐藏包含
TapCommand
实现: