我的texblock下方,我应该根据在wpf combobox上选择的值动态更改其文本属性。
<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>
我的问题是我需要设置一部分文本"选择旧项目:"向粗体,只有"旧项目"。在其他情况下,我知道它可以通过在这种情况下嵌入文本块的情况下完成,在这种情况下,我需要使用setter设置它。如何做?
这很有趣,因为您需要一部分文本块才能大胆,我认为您不会倒线。
<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>