gpt4 book ai didi

wpf - 使用 MultiBinding 的字符串格式?

转载 作者:行者123 更新时间:2023-12-03 10:07:25 25 4
gpt4 key购买 nike

我正在尝试使用标签控件在 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>

最佳答案

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

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

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

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

希望这可以帮助

关于wpf - 使用 MultiBinding 的字符串格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8377471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com