假设我有一个 Book app ,其安排如下: 有几种页面类型
正
带图片
只有图片
等...
每个页面都可以有很多书签。为了正确显示所有内容,我创建了一个像这样的
数据模板选择器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>
书签视图的外观现在并不重要(它只显示每个页面的书签)
问题是我需要以某种方式设置它的PageId
属性,以便书签控件可以从服务中获取书签。
我已在BookmarkView.xmal.cs
public Guid PageId
{
get { return _pageId; }
set
{
_pageId= value;
_viewModel.PageId= value; // Here I wanted to pass the same value to the
// viewModel which would doo the job then
}
}
然后我尝试做这样的事情
<Bookmark:BookmarkView PageId={Binding PageId, Mode=TwoWay}/>
Intellisense在我打字时建议使用PageId但没有发生任何事情。
如何将PageId传递给视图?
编辑:更改为
public object PageId
{
get { return _pageId; }
set
{
_pageId= value;
}
}
告诉我value
的类型为System.Windows.Data.Binding
。我现在怎样才能获得价值?
答案 0 :(得分:1)
为PageID创建依赖项属性。