如何使WPF TextBlock Text Bold的一部分不嵌入另一个文本块并使用属性设置器



我的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>

最新更新