“ReorderListBoxItem必须具有DragHandle ContentPresenter部分。”问题

时间:2013-04-25 14:12:49

标签: c# silverlight windows-phone-8

我们正在开发Windows Phone 8应用,并尝试使用reorder list box control。对于我们的应用程序的早期版本,它正在运行。但是现在,当我将集合绑定到重新排序列表框时,我得到了异常"System.InvalidOperationException"

详细说明,我看到了这条消息。

  
    

System.InvalidOperationException:ReorderListBoxItem必须具有DragHandleContentPresenter部分。         在ReorderListBoxDemo.ReorderListBoxItem.OnApplyTemplate()}

  

如果有人看到这样的问题或对此有所了解 - 请帮忙。我们使用MVVM灯并通过ViewModel绑定数据。但原始绑定根本不起作用。对不起我的俄语英语。 :)

1 个答案:

答案 0 :(得分:1)

控件需要一个具有Property =“DragHandleTemplate”的Setter。因此,只需复制基础ItemContainerStyle from the Codeplex page of the control并根据需要进行扩展:

<rlb:ReorderListBox.ItemContainerStyle>
    <Style
        TargetType="rlb:ReorderListBoxItem">
        <Setter
            Property="DragHandleTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Canvas
                        Width="52"
                        Height="48"
                        Background="Transparent">
                        <Polygon
                            Fill="Gray"
                            Points="16,20 4,20 22,4 22,44 16,44" />
                        <Polygon
                            Fill="Gray"
                            Points="32,28 44,28 26,44 26,4 32,4" />
                    </Canvas>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</rlb:ReorderListBox.ItemContainerStyle>