gpt4 book ai didi

c# - WPF 如何使用 StringConverter 将 slider 的值绑定(bind)到标签的内容?

转载 作者:太空狗 更新时间:2023-10-29 22:06:35 26 4
gpt4 key购买 nike

我有一个简单的 slider 和一个普通的标签。标签的内容绑定(bind)到 slider 的值并且工作正常 - 当您移动 slider 时,标签的内容会发生变化,例如 23.3983928394 、 50.234234234 等等

我想将其四舍五入为 int 值。 1,2,10....100 。但是当我尝试使用转换器时,我得到了 “ivalueconverter 不支持从字符串转换”。

如何在转换器中将 slider 的值转换为整数?

谢谢

这是我的XAML

<Grid.Resources>
<local:MyConvertor x:Key="stringconverter" />
</Grid.Resources>
<Slider x:Name="mySlider" Height="50" Width="276" Maximum="100"/>
<Label Content="{Binding ElementName=mySlider, Path=Value, Converter=stringconverter}" />

这是我的 stringconverter

public class MyConvertor: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
//How to convert string to int?
}

最佳答案

您可以只使用 StringFormat属性而不是创建转换器。由于指定的 # 格式,double 值将被四舍五入为 int。

<TextBlock Text="{Binding ElementName=mySlider, Path=Value, StringFormat={}{0:#}}"/>

如果你想保留标签,而不是使用 TextBlock,你可以使用 ContentStringFormat取而代之的是 Content 接受一个 object 类型。

<Label Content="{Binding ElementName=mySlider, Path=Value}" ContentStringFormat="{}{0:#}" />

关于c# - WPF 如何使用 StringConverter 将 slider 的值绑定(bind)到标签的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604140/

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