繁体   English   中英

在后面的代码中将样式设置为文本块

[英]Set style to textblock in code behind

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

textblock.Style = ???

我在这里可以做什么?

“批准”的答案没有解决如何在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,它定义了资源“ SearchBoxCustomStyle”,如下所示:

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

在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"   />

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM