2013-05-27 39 views
1

我在我的Page.Resources中有一個DataTemplate,它有一個TextBlock,其中文本值綁定到數據庫。是否有可能在代碼後面重新使用TextBlock控件?我想將Id傳遞給另一個頁面。 (贏RT Windows 8應用C#)從資源更改控制值

<Page.Resources> 
    <DataTemplate x:Key="Customized"> 
     <TextBlock x:Name="TextId" Text="{Binding Id}"/> 
    </DataTemplate> 
</Page.Resouces> 

後面的代碼:

TextId.Text = "test"; 

錯誤:

The name 'TextId' does not exist in the current context.

+0

名稱空間是否匹配? –

+0

是的命名空間是正確的 – user1951083

+1

爲什麼你不嘗試從你的數據上下文(TextBlock也從中獲取它)讀取ID? 你如何使用模板?它是ContentControl/Presenter的ItemsControl或DataTemplate的ItemTemplate嗎? –

回答

1

不,這是不可能通過名字來訪問TextBlock控制代碼。您的TextBlock名稱僅在DataTemplate的上下文中有效,並且在該上下文中必須是唯一的。您必須記住DataTemplate可以在許多地方使用並重復多次。但是由於它是綁定到Id屬性的數據,所以最好直接使用該對象。