1

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

textblock.Style = ???

我可以在这里做什么?

4

3 回答 3

3

“已批准”的答案并未解决如何在 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>

在这种情况下,包含自定义按钮控件的项目包含定义资源“SearchBoxCustomStyle”的 StandardStyles.xaml,如下所示:

<Style x:Key="SearchBoxCustomStyle" TargetType="SearchBox">
.
.
</Style>
于 2013-11-13T00:37:45.537 回答
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"   />
于 2012-08-29T20:17:05.167 回答
-3

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

textblock.style = "background-color: black; height: 20px; width: 20px;";
于 2012-08-29T19:43:19.087 回答