Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使WPF TextBlock文本的一部分变为粗体,而不使用另一个TextBlock和属性设置器_C#_Wpf_.net 3.5_Textblock - Fatal编程技术网

C# 如何使WPF TextBlock文本的一部分变为粗体,而不使用另一个TextBlock和属性设置器

C# 如何使WPF TextBlock文本的一部分变为粗体,而不使用另一个TextBlock和属性设置器,c#,wpf,.net-3.5,textblock,C#,Wpf,.net 3.5,Textblock,我有下面的TexBlock,我应该根据在WPF组合框上选择的值动态更改它的文本属性 <TextBlock Padding="5 10 0 0"> <TextBlock.Style> <Style TargetType="{x:Type TextBlock}"> <Setter Property="Text" Value="Select the items:" /> <Styl

我有下面的TexBlock,我应该根据在WPF组合框上选择的值动态更改它的文本属性

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


好的,我会试试,但是没有办法使用html字符,比如。。。在字符串中也可以这样做?xaml不是html-我认为在字符串中没有任何特殊字符可以切换为粗体。