2012-10-19 70 views
0

比方說,我有一個圖書應用有以下安排: 有幾個頁面類型通數據控制

  • 定期

  • 隨着畫面

  • 只有圖片

  • 等...

每個頁面都可以有很多書籤。爲了正確顯示一切我已經創建了一個DataTemplate選擇這樣

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}/> 

智能感知所建議的PageId而我打字,但什麼也沒有發生。

如何將PageId傳遞給視圖?

編輯:更改爲

public object PageId 
{ 
    get { return _pageId; } 
    set 
    { 
     _pageId= value; 
    } 
} 

顯示我的valueSystem.Windows.Data.Binding類型。我現在如何獲得價值?

+1

你不覺得PageId屬性應該是一個依賴屬性,要使用綁定嗎? – BreakHead

回答

1

爲PageID創建一個依賴項屬性。

+0

這個星期五的晚上,當你忘記最簡單的生氣時,就討厭了。謝謝 –