Silverlight 自定义控件中的数据绑定

Silverlight 自定义控件中的数据绑定,silverlight,data-binding,listbox,custom-controls,Silverlight,Data Binding,Listbox,Custom Controls,我正在开发自定义控件 以下代码是用generic.xaml编写的 <Style TargetType="local:TwoListBox"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:TwoListBox"> <Sta

我正在开发自定义控件

以下代码是用generic.xaml编写的

<Style TargetType="local:TwoListBox">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:TwoListBox">
                    <StackPanel Orientation="Horizontal">
                        <ListBox x:name="ListBoxForBasic" ItemsSource="{Binding}" DisplayMemberPath="NumValue" Margin="10"/>
                        <ListBox x:name="ListBoxForSorting" ItemsSource="{Binding}" DisplayMemberPath="NumValue" Margin="10"/>
                    </StackPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

这很简单,我有两个ListBox,我正在尝试将以下数据绑定到两个ListBox

public class SampleData
    {
        public int Num { get; set; }
        public int NumValue { get; set; }
    }

    public class SampleDataList : List<SampleData>
    {
        public SampleDataList()
        {
            Add(new SampleData{ Num=1, NumValue=10});
            Add(new SampleData { Num = 2, NumValue = 50 });
            Add(new SampleData { Num = 3, NumValue = 20 });
            Add(new SampleData { Num = 4, NumValue = 40 });
            Add(new SampleData { Num = 5, NumValue = 30 });
        }
    }
公共类样本数据
{
公共int Num{get;set;}
public int NumValue{get;set;}
}
公共类SampleDataList:List
{
公共样本数据列表()
{
添加(新样本数据{Num=1,NumValue=10});
添加(新样本数据{Num=2,NumValue=50});
添加(新样本数据{Num=3,NumValue=20});
添加(新样本数据{Num=4,NumValue=40});
添加(新样本数据{Num=5,NumValue=30});
}
}
在MainPage.xaml中,我使用TwoListBox自定义控件的示例数据,如下所示:

<local:TwoListBox DataContext="{StaticResource sampleData}"/>

如果点击F5,TwoListBox自定义控件如下所示:

<local:TwoListBox DataContext="{StaticResource sampleData}"/>
10 10
50 50
20
40
30 30

但是,我希望像这样绑定第二个ListBox(ListBoxForSorting)的排序数据:

<local:TwoListBox DataContext="{StaticResource sampleData}"/>
10 10
50 20
20 30
40
30 50

在这种情况下,我应该为此做些什么


提前谢谢

对不起,我解释得不够充分。我试着按NumValue排序。忘了Num属性吧。如果我像你说的那样创建属性,那么如何从generic.xaml访问该属性?
public SampleDataList() 
{ 
    Add(new SampleData{ Num=10, NumValue=10}); 
    Add(new SampleData { Num = 20, NumValue = 50 }); 
    Add(new SampleData { Num = 30, NumValue = 20 }); 
    Add(new SampleData { Num = 40, NumValue = 40 }); 
    Add(new SampleData { Num = 50, NumValue = 30 }); 
}

<ListBox x:name="ListBoxForBasic" ItemsSource="{Binding}" DisplayMemberPath="NumValue" Margin="10"/>     
<ListBox x:name="ListBoxForSorting" ItemsSource="{Binding}" DisplayMemberPath="Num" Margin="10"/>