gpt4 book ai didi

c# - 基于文本框动态更新 WPF Slider

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

我正在编写一个 WPF 应用程序,我有一个 slider 绑定(bind)到一个文本框,反之亦然。

我的问题是,当更改文本框的值时,我必须在更新 slider 值之前单击文本框外。

我希望 slider 值随着用户在文本框中键入文本或当用户在文本框中按回车键时发生变化。

这是我的代码:

XAML:

<Slider Name="sldrConstructionCoreSupplierResin" Minimum="0" Maximum="10" Grid.Column="1" Grid.Row="1" IsSnapToTickEnabled="True"/>
<TextBox Name="txtConstructionCoreSupplierResin" Text="{Binding ElementName=sldrConstructionCoreSupplierResin, Path=Value, Converter={StaticResource RoundingConverter}}" Grid.Column="2" Grid.Row="1"/>

代码隐藏:

public class RoundingConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null)
{
double dblValue = (double)value;
return (int)dblValue;
}
return 0;
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null)
{
int ret = int.Parse(value.ToString());
return ret;
}
return 0;
}
}

最佳答案

默认情况下,绑定(bind)会在控件失去焦点时更新。这就是为什么只有在单击 TextBox 之外时才会看到更改的原因。您可以使用 UpdateSourceTrigger 更改此设置Binding 的属性,像这样:

<TextBox Text="{Binding Value,ElementName=mySlider,UpdateSourceTrigger=PropertyChanged}" />

现在 TextBox 将在 Text 属性更改时更新其源,而不是在它失去焦点时。

关于c# - 基于文本框动态更新 WPF Slider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421933/

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