如何在WinRT应用程序的C#中为TextBlock设置样式?
textblock.Style = ???
我可以在这做什么?
答案 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;";