以编程方式设置TextBlock的样式

时间:2015-04-25 18:50:50

标签: c# visual-studio xaml windows-phone-8.1

我有这个:

var MyText = new TextBlock();
MyText.Text = "blah";
MyText.Style = /* ??? */;

在XAML中,我可以设置这样的样式:

<TextBlock Text="blah" Style="{ThemeResource ListViewItemTextBlockStyle}"/>

但我如何在C#中做到这一点?

修改

Error   1   'Windows.UI.Xaml.Application' does not contain a definition for 'FindResource' and no extension method 'FindResource' accepting a first argument of type 'Windows.UI.Xaml.Application' could be found (are you missing a using directive or an assembly reference?)
Error   1   'Geodropper.HubPage' does not contain a definition for 'FindResource' and no extension method 'FindResource' accepting a first argument of type 'Geodropper.HubPage' could be found (are you missing a using directive or an assembly reference?)

当我尝试(Style)this.FindResource("ListViewItemTextBlockStyle");(Style)App.Current.FindResource("ListViewItemTextBlockStyle")时,我遇到了这些错误。

1 个答案:

答案 0 :(得分:13)

谢谢你的退相干!我需要的是以下内容:

var MyText = new TextBlock();
MyText.Text = drop;
MyText.Style = (Style)Application.Current.Resources["ListViewItemTextBlockStyle"];