2 回答
TA贡献1839条经验 获得超15个赞
解决方案: 正如 Ivan 所说,您可以使用Converter
请参考以下代码。
public class ValueToTextConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((double)value < 20 && (double)value > 2)
{
return "Editado";
}
return "Ejemplo";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
当数据在OneWay或TwoWay绑定中从源移动到目标时,将调用 Convert 方法。value 参数是来自数据绑定源的对象或值。该方法必须返回数据绑定目标类型的值。
在 xaml 中
<ContentPage.Resources>
<ResourceDictionary>
<local:ValueToTextConverter x:Key="ValueToText" />
</ResourceDictionary>
</ContentPage.Resources>
<StackLayout>
<ListView x:Name="listaEjemplo" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<StackLayout Orientation="Vertical">
<Label Text="{Binding nombre}" Font="18"></Label>
<Slider x:Name="slider" Minimum="0" Maximum="20" />
<Label Text="{Binding Source={x:Reference slider},
Path=Value,
Converter={StaticResource ValueToText}}" TextColor="Gray"></Label>
</StackLayout>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
https://i.stack.imgur.com/Tu5Jd.gif
TA贡献1851条经验 获得超5个赞
至少还有两种方法可以做到:
Slider
Value
将与绑定TwoWay
Mode
。然后在值的设置器中更改绑定到标签的值(在该部分类似于您在上面的代码中所做的)绑定
Label
Value
到Slider
Value
并声明Converter
将转换Slider
Value
为所需Label
Value
.
- 2 回答
- 0 关注
- 124 浏览
添加回答
举报