如何在 C# 中为 WinRT 应用程序的 TextBlock 设置样式?
textblock.Style = ???
我可以在这里做什么?
如何在 C# 中为 WinRT 应用程序的 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>
在这种情况下,包含自定义按钮控件的项目包含定义资源“SearchBoxCustomStyle”的 StandardStyles.xaml,如下所示:
<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) 格式。例如,如果您希望背景为黑色,高度为 20 像素,宽度为 20 像素,您可以:
textblock.style = "background-color: black; height: 20px; width: 20px;";