【问题标题】:String format using MultiBinding?使用 MultiBinding 的字符串格式?
【发布时间】:2012-01-12 17:31:50
【问题描述】:

我正在尝试使用标签控件在 XAML 中显示一个字符串。以下是我的 XAML 代码:

<Label Height="28" HorizontalAlignment="Left" Margin="233,68,0,0" Name="label13" VerticalAlignment="Top">
    <Label.Content>
        <MultiBinding StringFormat="{}{0} x {1}">
              <Binding Path="Width" />
              <Binding Path="Height" />
        </MultiBinding>
    </Label.Content>

宽度和高度是我的电影类的两个属性。 我希望标签显示:“宽度 x 高度”例如。 800×640 但是标签控件仍然是空的。任何帮助表示赞赏。 我想在不使用转换器的情况下做到这一点。


我通过使用 TextBlock 而不是 Label 修改了我的 xaml。但它仍然不会填充显示输出。

<TextBlock Height="28" HorizontalAlignment="Left" Margin="233,68,0,0" Name="label13" VerticalAlignment="Top">
                <TextBlock.Text>
                    <MultiBinding StringFormat="{}{0} x {1}">
                        <Binding Path="Width" />
                        <Binding Path="Height" />
                    </MultiBinding>
                </TextBlock.Text>
            </TextBlock>

【问题讨论】:

标签: wpf xaml multibinding string-formatting


【解决方案1】:

您正在尝试将字符串绑定到对象。但是 StringFormat 要求它的目标是字符串类型。

尝试在您的标签内容中放置一个 TextBlock 并将您的数据绑定到它

<StackPanel>
  <Slider x:Name="sl1" Minimum="10" Maximum="100"/>
  <Slider x:Name="sl2" Minimum="10" Maximum="100"/>
  <Label x:Name="label13" Background="Yellow" Foreground="Black">
    <Label.Content>
        <TextBlock>
          <TextBlock.Text>
            <MultiBinding StringFormat="{}{0} x {1} Test">
              <Binding ElementName="sl1" Path="Value" />
              <Binding ElementName="sl2" Path="Value" />
            </MultiBinding>
          </TextBlock.Text>
        </TextBlock>
    </Label.Content>
  </Label>
</StackPanel>

编辑 您的电影类必须实现 INotificationPropertyChanged 接口,并且您的两个属性必须使用它们的属性名称引发属性更改事件!

希望对你有帮助

【讨论】:

  • 您能否详细说明为什么当TextBlockLabel 中时它起作用,而在其他情况下不起作用?
  • @IgorStack 因为绑定的目标是不同的类型。 TextBlock.Textstring,但 Label.ContentobjectStringFormat 属性仅适用于字符串类型的目标。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
  • 2014-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-04-18
  • 2021-12-06
  • 2020-09-04
相关资源
最近更新 更多