C# 在父子用户控件之间传递数据

C# 在父子用户控件之间传递数据,c#,silverlight-4.0,user-controls,C#,Silverlight 4.0,User Controls,假设我有一个图书应用程序,它具有以下安排: 有几种页面类型 正规的 带图片 唯一的图片 等等 每个页面都可以有许多书签。为了正确显示所有内容,我创建了一个datatemplate选择器,如下所示 <Bookmark:BookmarkView PageId={Binding PageId, Mode=TwoWay}/> Page.xaml <Pages:PageTypeSelector Content="{Binding}"> <Pages:PageT

假设我有一个图书应用程序,它具有以下安排: 有几种页面类型

  • 正规的

  • 带图片

  • 唯一的图片

  • 等等

每个页面都可以有许多书签。为了正确显示所有内容,我创建了一个datatemplate选择器,如下所示

<Bookmark:BookmarkView PageId={Binding PageId, Mode=TwoWay}/>
Page.xaml

 <Pages:PageTypeSelector Content="{Binding}">
    <Pages:PageTypeSelector.Regular>
       <DataTemplate>
           <Grid HorizontalAlignment="Stretch">  
                <!-- Show regular content here-->
                <Bookmark:BookmarkView />
           </Grid>
        </DataTemplate>
    </Pages:PageTypeSelector.Regular>

    <Pages:PageTypeSelector.WithPicture>
       <DataTemplate>
           <Grid HorizontalAlignment="Stretch">  
                <!-- Show mixed content here-->
                <Bookmark:BookmarkView />
           </Grid>
        </DataTemplate>
    </Pages:PageTypeSelector.WithPicture>

   <Pages:PageTypeSelector.OnlyPicture>
       <DataTemplate>
           <Grid HorizontalAlignment="Stretch">  
                <!-- Show picture content here-->
                <Bookmark:BookmarkView />
           </Grid>
        </DataTemplate>
    </Pages:PageTypeSelector.WithPicture>
 </Pages:PageTypeSelector>
然后我试着做类似的事情

<Bookmark:BookmarkView PageId={Binding PageId, Mode=TwoWay}/>

显示
的类型为
System.Windows.Data.Binding
。现在如何获取值?

为PageID创建一个依赖属性。

要使用绑定,您不认为PageID属性应该是一个依赖属性吗?讨厌这个星期五晚上忘记最简单的事情。谢谢
public object PageId
{
    get { return _pageId; }
    set
    {
        _pageId= value;
    }
}