我的XAML代码是:<ListBox Name="Seq"><TextBlock Name="txt1" Text="Hello"/></ListBox>
代码隐藏将是:Seq.Style = ...;
或txt1.Style=...;
我想制作一些绿色,粗体和斜体的物品。我该怎么办?感谢。
答案 0 :(得分:0)
您真正应该做的是将ItemsSource
的{{1}}属性绑定到ListBox
,然后将属性添加到您可以绑定到的类型IEnumerable<T>
中一个T
,例如:
ItemTemplate
作为快速修复,您可以在XAML标记中定义<ListBox Name="Seq">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="txt1" Text="{Binding TextProperty}" />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding SomeOtherProperty}" Value="SomeValue">
<Setter TargetName="txt1" Property="Foreground" Value="Green" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
样式:
TextBlock
...并以编程方式设置<ListBox Name="Seq">
<ListBox.Resources>
<Style x:Key="style" TargetType="TextBlock">
<Setter Property="Foreground" Value="Green" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontStyle" Value="Italic" />
</Style>
</ListBox.Resources>
<TextBlock Name="txt1" Text="Hello"/>
</ListBox>
的{{1}}属性:
Style
...或直接在XAML标记中:
TextBlock
答案 1 :(得分:0)
您可以根据需要在App.xaml中添加样式,例如:
<Style TargetType="TextBlock" x:Key="mystyle">
<Setter Property="Foreground" Value="Green"></Setter>
<Setter Property="FontStyle" Value="Italic"></Setter>
<Setter Property="FontWeight" Value="Bold"></Setter>
</Style>
然后您可以将该样式应用于列表框的文本块,如下所示:
this.txt1.Style = (Style)Application.Current.FindResource("mystyle");