2011-08-24 75 views

回答

1

請參見下面的問題:how to use DynamicResource in the code behind?

使用SetResourceReference,它等同於使用DynamicResource在XAML

所以,如果你Style有重點myTextBlockStyle

TextBlock textBlock = new TextBlock(); 
textBlock.SetResourceReference(FrameworkElement.StyleProperty, "myTextBlockStyle"); 
1

我從來沒有嘗試過在此之前,並根據你的轉換器是幹什麼的,我想如果你的XAML資源字典是外部的,然後將其鏈接到您的顯示的TextBlocks窗口:

<Window.Resources> 
    <ResourceDictionary Source="[the path to the resource dictionary]"/> 
</Window.Resources> 

然後在您的文本塊中,確保它們具有在資源字典中定義的樣式附件。如果文本塊是在後面的代碼中創建的,我相信你應該能夠使用FindResource來查找由資源字典鏈接的樣式。然後做這樣的事情:

textBlock1.Style = (Style)FindResource("myTextBlockStyle"); 
+0

我已經有我的資源字典鏈接像你所顯示。我試圖使用特定的樣式(基於關鍵字)來創建通過「IMultiValueConverter」動態創建的「TextBlock」。 – gcso

+0

我剛剛在您評論的同時更新了我的答案。嘗試FindResource方法,看看它是否有助於找到你的風格。我只在一個元素中嵌入了多值轉換器,例如連接名字和姓氏,我沒有使用它們來動態創建控件。 – Josh

相關問題