gpt4 book ai didi

wpf - 将值从百分比转换为不透明度

转载 作者:行者123 更新时间:2023-12-04 06:02:45 26 4
gpt4 key购买 nike

我有一个控制图像不透明度的 slider 。

<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.60*" />
<ColumnDefinition Width="0.40*" />
</Grid.ColumnDefinitions>
<Border Grid.Column="1"
BorderBrush="Black"
BorderThickness="1">
<Image Opacity="{Binding Path=Value,
ElementName=fadeSlider,
Mode=Default,
UpdateSourceTrigger=PropertyChanged}"
Source="/Mydll;component/Images/Preview.png"
Stretch="Fill" />
</Border>
<Grid Grid.Column="0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsEnabled="{Binding Path=IsChecked,
ElementName=applyTransparency,
Mode=Default}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.70*" />
<ColumnDefinition Width="0.30*" />
</Grid.ColumnDefinitions>

<telerik:RadSlider x:Name="fadeSlider"
Grid.Column="0"
Width="130"
IsMoveToPointEnabled="True"
LargeChange="10"
Maximum="100"
Minimum="0"
SmallChange="5"
ThumbVisibility="Visible"
TickFrequency="25"
TickPlacement="BottomRight"
Value="1">
<telerik:RadSlider.TickTemplate>
<DataTemplate>
<Grid>
<TextBlock FontSize="11"
Text="{Binding}" />
</Grid>
</DataTemplate>
</telerik:RadSlider.TickTemplate>
</telerik:RadSlider>
<telerik:RadMaskedNumericInput Grid.Column="1"
Width="25"
Margin="2"
MaskedInput:MaskedInputExtensions.Maximum="100"
MaskedInput:MaskedInputExtensions.Minimum="0"
Text="{Binding Path=Value,
ElementName=fadeSlider,
Mode=TwoWay}" />

</Grid>
</Grid>

问题是 slider 从 0-100 工作,不透明度从 0-1 工作我应该如何将 slider 值绑定(bind)到图像的不透明度。 slider 值 0 表示 1 不透明度, slider 值 100 表示 0 不透明度。

最佳答案

你需要写一个converter为了那个原因。像:

public class OpacityConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
int sliderValue = System.Convert.ToInt32(value);

return (100 - sliderValue)/100d;
}

public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}

XAML:
<Grid.Resources>
<myNamespace:OpacityConverter x:Key="opacityConverter"/>
</Grid.Resources>

<Image Opacity="{Binding Path=Value,
ElementName=fadeSlider,
Mode=Default,
UpdateSourceTrigger=PropertyChanged},
Converter={StaticResource opacityConverter}"
Source="/Mydll;component/Images/Preview.png"
Stretch="Fill" />

关于wpf - 将值从百分比转换为不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754823/

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