首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法处理UWP中的MyToolKit.Extended DataGrid

无法处理UWP中的MyToolKit.Extended DataGrid
EN

Stack Overflow用户
提问于 2016-06-04 10:11:37
回答 1查看 1.1K关注 0票数 0

我正在开发一个UWP应用程序。在这里,我想在下面的表格中显示数据,

在这里,我的目的是搜索项目并将它们添加到这个网格中。如果我单击四舍五入按钮(红色是一个数据标题模板),它的工作状态很好,但是如果网格包含一些数据--如果我单击圆形图像按钮,得到非手工引导的异常,

这里我把我用过的代码,

代码语言:javascript
复制
<controls:DataGrid x:Name="dgNewBill" Grid.Row="0" Grid.Column="0" MinHeight="500" HorizontalAlignment="Left" HeaderBackground="Black"  DefaultOrderIndex="1" Background="Black" RowBackgroundEvenBrush="Black" RowBackgroundOddBrush="Black" >
                                <controls:DataGrid.RowStyle>
                                    <Style TargetType="ListBoxItem">
                                        <Setter Property="Padding" Value="0"></Setter>
                                        <Setter Property="HorizontalAlignment" Value="Stretch"></Setter>
                                    </Style>
                                </controls:DataGrid.RowStyle>

                                <controls:DataGrid.Columns>
                                    <controls:DataGridTextColumn Width="50" Binding="{Binding SNumber}" Foreground="White"
                     IsAscendingDefault="False" CanSort="False">
                                        <controls:DataGridTextColumn.Header>
                                            <Button x:Uid="RSNO" Height="40"  Width="50" HorizontalAlignment="Left" Style="{StaticResource RoundButtonTemplate}" Margin="-10,0,0,0"/>
                                        </controls:DataGridTextColumn.Header>
                                        <controls:DataGridTextColumn.Style>
                                            <Style TargetType="TextBlock">
                                                <Setter Property="TextAlignment" Value="Center"></Setter>
                                            </Style>
                                        </controls:DataGridTextColumn.Style>
                                    </controls:DataGridTextColumn>

                                    <!--Item Column-->
                                    <controls:DataGridTextColumn Width="380" Binding="{Binding description}" Foreground="White" CanSort="False">
                                        <controls:DataGridTextColumn.Header>
                                            <Button x:Uid="RItem"  Height="40" Width="380"   Style="{StaticResource RoundButtonTemplate}"  Margin="-12,0,0,0"/>
                                        </controls:DataGridTextColumn.Header>
                                        <controls:DataGridTextColumn.Style>
                                            <Style TargetType="TextBlock">
                                                <Setter Property="TextAlignment" Value="Center"></Setter>
                                            </Style>
                                        </controls:DataGridTextColumn.Style>
                                    </controls:DataGridTextColumn>
                                    <!--UOM column-->
                                    <controls:DataGridTextColumn Width="120" Binding="{Binding uom}" Foreground="White" CanSort="False">
                                        <controls:DataGridTextColumn.Header>
                                            <Button x:Uid="RUOM" Height="40" Width="120"  Style="{StaticResource RoundButtonTemplate}"  Margin="-12,0,0,0"/>
                                        </controls:DataGridTextColumn.Header>
                                        <controls:DataGridTextColumn.Style>
                                            <Style TargetType="TextBlock">
                                                <Setter Property="TextAlignment" Value="Center"></Setter>
                                            </Style>
                                        </controls:DataGridTextColumn.Style>
                                    </controls:DataGridTextColumn>
                                    <!--Price Column-->
                                    <controls:DataGridTemplatedColumn>
                                        <controls:DataGridTemplatedColumn.Header>
                                            <Button x:Uid="RPrice" Height="40" Width="110"  Style="{StaticResource RoundButtonTemplate}"  Margin="-12,0,0,0"/>
                                        </controls:DataGridTemplatedColumn.Header>
                                        <controls:DataGridTemplatedColumn.CellTemplate>
                                            <DataTemplate>
                                                <StackPanel Name="pricePanel" Width="110" Height="30" Tapped="pricePanel_Tapped" >
                                                    <TextBlock Name="price" Foreground="White"  Text='{Binding price}' VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,5,0,0"></TextBlock>
                                                </StackPanel>
                                            </DataTemplate>
                                        </controls:DataGridTemplatedColumn.CellTemplate>
                                    </controls:DataGridTemplatedColumn>


                                     <!--Qty Column-->
                                    <controls:DataGridTemplatedColumn>
                                        <controls:DataGridTemplatedColumn.Header>
                                            <Button x:Uid="RQty" Height="40" Width="110"  Style="{StaticResource RoundButtonTemplate}"  Margin="-25,0,0,0"/>
                                        </controls:DataGridTemplatedColumn.Header>
                                        <controls:DataGridTemplatedColumn.CellTemplate>
                                            <DataTemplate>
                                                <StackPanel Name="quantityPanel" Width="50" Height="30" Tapped="quantityPanel_Tapped">
                                                    <TextBlock Name="quantity" Foreground="White"  Text='{Binding quantity}' VerticalAlignment="Center" Margin="0,5,0,0"></TextBlock>
                                                </StackPanel>
                                            </DataTemplate>
                                        </controls:DataGridTemplatedColumn.CellTemplate>
                                    </controls:DataGridTemplatedColumn>

                                    <!--Discount Column-->
                                    <controls:DataGridTemplatedColumn>
                                        <controls:DataGridTemplatedColumn.Header>
                                            <Button x:Uid="Rdiscount" Height="40" Width="60"  Style="{StaticResource RoundButtonTemplate}"  Margin="-25,0,0,0"/>
                                        </controls:DataGridTemplatedColumn.Header>
                                        <controls:DataGridTemplatedColumn.CellTemplate>
                                            <DataTemplate>
                                                <StackPanel Name="discountPanel" Width="60" Height="30" Tapped="discountPanel_Tapped" >
                                                    <TextBlock Name="Discount" Foreground="White" Text='{Binding discount}' VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,5,0,0"></TextBlock>
                                                </StackPanel>
                                            </DataTemplate>
                                        </controls:DataGridTemplatedColumn.CellTemplate>
                                    </controls:DataGridTemplatedColumn>

                                    <!--Cost Column-->
                                    <controls:DataGridTextColumn Width="110" Binding="{Binding cartTotal}" Foreground="White" CanSort="False" >
                                        <controls:DataGridTextColumn.Header>
                                            <Button x:Uid="RCartTotal" Height="40" Width="110"   Style="{StaticResource RoundButtonTemplate}"  Margin="-25,0,0,0"/>
                                        </controls:DataGridTextColumn.Header>
                                        <controls:DataGridTextColumn.Style>
                                            <Style TargetType="TextBlock">
                                                <Setter Property="TextAlignment" Value="Center"></Setter>
                                            </Style>
                                        </controls:DataGridTextColumn.Style>
                                    </controls:DataGridTextColumn>

                                <!--void image column-->
                                    <controls:DataGridTemplatedColumn>
                                        <controls:DataGridTemplatedColumn.Header>
                                            <Button Name="Cancelbtn" Height="50" Click="Cancelbtn_Click" Width="55" >
                                                <Image Source="/Images/erase.png"  Name="ImgClearCartp" Height="40" Width="40" ></Image>
                                            </Button>
                                        </controls:DataGridTemplatedColumn.Header>
                                        <controls:DataGridTemplatedColumn.CellTemplate>
                                            <DataTemplate>
                                                <StackPanel Name="voidImagePanel" Width="50" Height="30" Tapped="voidImagePanel_Tapped" >
                                                    <Image Name="VoidImage" Source='{Binding imageUrl}' Height="20" Width="30" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="0,5,0,0"></Image>
                                                </StackPanel>
                                            </DataTemplate>
                                        </controls:DataGridTemplatedColumn.CellTemplate>
                                    </controls:DataGridTemplatedColumn>
                                </controls:DataGrid.Columns>
                            </controls:DataGrid>

根据我的理解,我已经进行了测试,因为使用了DataGridTemplatedColumn获得了这个异常。但是根据我的范围,我必须使用DataGridTextColumn.而不是TemplateColumn

我用过https://github.com/MyToolkit/MyToolkit/wiki/DataGrid

链接。请建议我如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 10:03:30

根据我的理解,我已经进行了测试,因为使用了DataGridTemplatedColumn获得了这个异常。但是根据我的范围,我必须使用TemplateColumn而不是DataGridTextColumn。

是的,对于这个问题,一个解决方法是将DataGridTemplatedColumn替换为DataGridTextColumn.But --您可以使用另外两个解决方案,我认为这比直接替换要好。

  • 可以为order添加类似于Order="{Binding imageUrl}"DataGridTemplatedColumn属性,如下所示: <控件:DataGridTemplatedColumn Order="{Binding }“>
  • 如果不需要对列进行排序,可以简单地为DataGridTemplatedColumn元素添加DataGridTemplatedColumn,如下所示: <控件:DataGridTemplatedColumn CanSort="False"> . MyToolkit异常的原因是DataGridTemplatedColumn元素的order属性为null初始值,但要从中获取path参数,shows.You还可以向MyToolKit问题提交此问题,请MyToolKit团队修复。

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

https://stackoverflow.com/questions/37628974

复制
相关文章

相似问题

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