这是XAML
<ListView x:Name="duplicateVarsInDepXMLListView" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="100" Margin="362,360,0,0" VerticalAlignment="Top" Width="306">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name, StringFormat='Variable Name: {0}'}"/>
<TextBlock Text="{Binding Value,StringFormat='Value: {0}'}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
此xaml显示带有变量名称的集合列表和集合的值。我们有类似Foreground属性的东西来改变绑定字符或FontWeight的颜色以使其变粗。 但是我只想更改标签的字体,例如VariableName而不是实际绑定。 这有可能实现吗?任何建议
答案 0 :(得分:3)
您可以在Run
中使用TextBlock
元素,并对不同的运行应用不同的格式。您可以绑定到Run
的{{3}}属性以动态设置字体:
<TextBlock>
<Run Text="Variable Name: " FontFamily="{Binding FontName}"/>
<Run Text="{Binding Name}"/>
</TextBlock>
如果使用TextBlock
包裹TextWrapping="Wrap"
中的文本,则运行将按预期进行回绕。这不适用于该问题,但可以使Run
元素优于TextBlock
中的StackPanel
元素堆叠。
答案 1 :(得分:2)
提取单独的TextBlock并在该TextBlock上设置FontFamily
。将所有TextBlock包装在StackPanel中并将orientation
设置为Horizontal
-
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Variable Name: " FontFamily="Comic Sans MS"/>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
<TextBlock Text="{Binding Value,StringFormat='Value: {0}'}"/>
</StackPanel>
答案 2 :(得分:1)
您可以执行以下操作:
<StackPanel Orientation=Horizontal>
<TextBlock Text="Variable Name: "/>
<TextBlock Text={Binding Name} FontWeight="Bold"/>
</StackPanel>