Nut*_*uts 5 wpf styles textblock
是否有可能在XAML
定义多Run
一个内部的Style
制定者?
以下两个已Run
定义并失败:
物业'价值'不止一次设定.
<TextBlock>
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text">
<Setter.Value>
<Run Text="{Binding SelectedItem.iso}"/>
<Run Text="{Binding SelectedItem.value}"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem.type}" Value={x:Null}">
<Setter Property="Text" Value="No value" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
这可以修复,同时保留多个的使用Run
?
Setter在一个属性上工作,因此它只能有一个值,你得到的错误是合乎逻辑的:它无法理解你想要做什么,它只能......将属性设置为给定值.
所以我们的想法是给它这个值应该是:附加文本.为此,您将使用MultiBinding,它接受多个值并将它们作为一个返回,具体取决于您提供的StringFormat:
<Setter.Value>
<MultiBinding StringFormat="{}{0}{1}{2}"><!-- Format as you wish -->
<Binding Path="SelectedItem.iso"/>
<Binding Source="{x:Static System:Environment.NewLine}"/>
<Binding Path="SelectedItem.value"/>
</MultiBinding>
</Setter.Value>
Run Code Online (Sandbox Code Playgroud)
关于StringFormat的注意事项:您必须{}
在start时使用它来转义大括号,否则它会将它们视为标记扩展启动器.
归档时间: |
|
查看次数: |
2186 次 |
最近记录: |