在后面的代码中将样式设置为textblock

时间:2012-08-29 19:40:52

标签: c# text controls windows-runtime

如何在WinRT应用程序的C#中为TextBlock设置样式?

textblock.Style = ???

我可以在这做什么?

3 个答案:

答案 0 :(得分:2)

"批准"回答没有解决在C#代码隐藏中如何做到的问题,这就是我原来的帖子所要求的。

要解决该问题:例如,如果您有一个基于Button的模板化控件(用于显示SearchBox弹出按钮),您可以在按钮初始化代码中定义弹出按钮,如下所示:

        SearchBox searchBox = new SearchBox()
        {
            Style = Resources["SearchBoxCustomStyle"] as Style,
        };

此处,自定义资源已应用于SearchBox.Style属性。上述语法假设控件的XAML中有资源引用,例如:

<Button.Resources>
    <ResourceDictionary Source="ms-appx:///Control_Assembly_Name/StandardStyles.xaml">
    </ResourceDictionary>
</Button.Resources>

在这种情况下,包含自定义按钮控件的项目包含一个StandardStyles.xaml,用于定义资源&#34; SearchBoxCustomStyle&#34;,如:

<Style x:Key="SearchBoxCustomStyle" TargetType="SearchBox">
.
.
</Style>

答案 1 :(得分:1)

在XAML / C#中,您可以在元素本身上设置单独的样式属性......

<TextBox Background="#FFEED908" FontSize="18" FontFamily="Stencil" x:Name="textBox"  Text="TextBox" />

如果直接在VS中编辑XAML,您将获得Intellisense,可以让您发现各种属性。但是,选择项目并使用“属性”对话框窗口以可视方式编辑属性要容易得多。

如果您想要可重复使用的样式,则必须选择该元素,然后选择格式 - >编辑样式 - >编辑副本(或创建空...)。然后,您将处于样式设计模式,并可以直观地或直接在XAML中更新样式。然后,您可以在其他元素上重用该样式:

<TextBox Style="{StaticResource MyStyle}" x:Name="textBox"   />

答案 2 :(得分:-3)

您必须添加内联样式(css)格式。例如,如果您希望背景为黑色,高度为20px,宽度为20px,则可以:

textblock.style = "background-color: black; height: 20px; width: 20px;";