2015-12-01 54 views
1

我希望顯示Button的工具提示以及TextBlock的文本。這裏是我的簡化XAML:如何在XAML的兩個地方使用資源數據值?

<Button x:Uid="SweetButton"> 
    <TextBlock x:Uid="SweetTextBlock"/> 
</Button> 

現在,我有我的.resw文件的兩個條目:

<data name="SweetButton.ToolTipService.ToolTip" xml:space="preserve"> 
    <value>The same text</value> 
</data> 
<data name="SweetTextBlock.Text" xml:space="preserve"> 
    <value>The same text</value> 
</data> 

有什麼辦法,我只有在我的.resw文件中的一個條目?

我試過給數據元素兩個名稱屬性,但這是不允許的。我想以某種方式引用一個數據元素的值作爲第二個數據元素的值,但我不知道如何。

回答

1

可悲的是,當您嘗試填寫2個完整的不同屬性(ToolTipText)時,仍然使用x:Uid語法,但無法重新使用該資源條目。通用資源系統x:Uid功能非常強大,可以在資源文件中包含任何附加屬性,但缺點是資源值的可重複性。

UWP XAML對於x:Uid唯一性的規則與之前使用的XAML使用技術有所不同。對於UWP XAML,相同的x:Uid ID值作爲多個XAML元素上的指令存在是合法的。但是,每個這樣的元素在解析資源文件中的資源時必須共享相同的解析邏輯。另外,項目中的所有XAML文件爲了x:Uid解析目的共享單個資源作用域,沒有將x:Uid作用域與每個XAML文件對齊的概念。

來源:https://msdn.microsoft.com/en-us/library/windows/apps/mt204791.aspx

如果你有很多重複的資源價值,你可以考慮使用的「舊」的方式來處理資源和自己綁定的資源之一。

+0

太棒了,歡呼巴特! – Felix

相關問題