首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyExtended工具包DataGrid用于Uwp DataGrid TextColumn绑定崩溃问题

MyExtended工具包DataGrid用于Uwp DataGrid TextColumn绑定崩溃问题
EN

Stack Overflow用户
提问于 2017-10-09 11:00:49
回答 1查看 205关注 0票数 1

我创建了新的Uwp项目我添加了MyToolkit扩展Dll

我在设计页面中添加了一个数据控件。

代码语言:javascript
复制
<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
   xmlns:MyControls="using:MyToolkit.Controls"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <MyControls:DataGrid Name="bala" VerticalAlignment="Stretch">

        </MyControls:DataGrid>
    </Grid>
</Page>

我添加的代码

//空白页项目模板记录在https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409

代码语言:javascript
复制
namespace App1
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        List<data> lst = new List<data>() { new data() { iD = "1", Name = "bala" }, new data() { iD = "1", Name = "bala" }, new data() { iD = "1", Name = "bala" } };
        MyToolkit.Controls.DataGridTextColumn column = new MyToolkit.Controls.DataGridTextColumn();
        column.Binding = new Binding() { ElementName="iD"};
        column.Header = "ID";
        bala.Columns.Add(column);
        MyToolkit.Controls.DataGridTextColumn column1 = new MyToolkit.Controls.DataGridTextColumn();
        column1.Binding = new Binding() { ElementName = "Name" };
        column1.Header = "Name";
        bala.Columns.Add(column1);
        bala.ItemsSource = lst;
        }
    }
    public class data
    {
        public string iD { get; set; }
        public string Name { get; set; }
    }
}

我面临着崩溃的问题。

但是,设计方面,我添加了列,它将很好地工作。代码方面只有我面临的问题。

代码语言:javascript
复制
 <MyControls:DataGrid.Columns>
            <MyControls:DataGridTextColumn Header="ID" Binding="{Binding iD}"></MyControls:DataGridTextColumn>
            <MyControls:DataGridTextColumn Header="Name" Binding="{Binding Name}"></MyControls:DataGridTextColumn>
        </MyControls:DataGrid.Columns>

我得到了运行时异常:至少有一个对象必须实现IComparable‘

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-09 12:26:46

您应该使用路径进行绑定。

代码语言:javascript
复制
column.Binding = new Binding() { Path = new PropertyPath("iD") };                              
        column1.Binding = new Binding() { Path = new PropertyPath("Name") };

这会很好的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46644887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档