我在TexBlock下面,我应该根据WPF组合框中选择的值动态更改其text属性。
<TextBlock Padding="5 10 0 0">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="Select the items:" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyWPFCombo, Path=Id}" Value="10">
<Setter Property="Text" Value="Select the old items:" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
我的问题是我需要将文本“选择旧项目:”的部分设置为粗体,而将部分“旧项目”设置为粗体。在其他情况下,我知道可以通过在其中嵌入文本块来完成,在这种情况下,我需要使用设置器进行设置。怎么做?
答案 0 :(得分:0)
这很奇怪,因为您需要部分文本块为粗体,而且我认为您不能折叠内联。
<StackPanel>
<TextBlock Padding="5 10 0 0">
<Run Text="Select the"/>
<Bold>
<Run>
<Run.Style>
<Style TargetType="Run">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyWPFCombo, Path=SelectedValue}" Value="10">
<Setter Property="Text" Value="old items:" />
</DataTrigger>
</Style.Triggers>
</Style>
</Run.Style>
</Run>
</Bold>
<Run>
<Run.Style>
<Style TargetType="Run">
<Setter Property="Text" Value="items:" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyWPFCombo, Path=SelectedValue}" Value="10">
<Setter Property="Text" Value="" />
</DataTrigger>
</Style.Triggers>
</Style>
</Run.Style>
</Run>
</TextBlock>
<ComboBox x:Name="MyWPFCombo"
SelectedValuePath="Id"
DisplayMemberPath="Description"
ItemsSource="{Binding Items}"/>
</StackPanel>