如何在 C# 中使用滑块值更改网格不透明度
How To Change Grid Opacity using Slider Value In C#
我想使用滑块值更改或控制网格或图像之类的东西或任何不透明度。
我有完整的 window 控制程序,但我无法更改网格不透明度。
请参阅此代码以更改 window 不透明度。
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
this.AllowsTransparency = true;
}
private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
this.Opacity = slider.Value / 100;
}
}
并查看结果:
Its worked perfectly
但我想通过滑块值更改网格(image/rectangle 或其他)不透明度。
我也试过这个代码但没有工作:
private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
mygrid.Opacity =slider.Value / 100;
}
使用绑定是更好的方法,而且很有效!尽量避免代码隐藏在任何可能的地方。
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid Background="Black" Opacity="{Binding Value, ElementName=mySlider}"/>
<Slider Name="mySlider" Grid.Row="1" Maximum="1" />
</Grid>
我想使用滑块值更改或控制网格或图像之类的东西或任何不透明度。 我有完整的 window 控制程序,但我无法更改网格不透明度。
请参阅此代码以更改 window 不透明度。
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
this.AllowsTransparency = true;
}
private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
this.Opacity = slider.Value / 100;
}
}
并查看结果: Its worked perfectly
但我想通过滑块值更改网格(image/rectangle 或其他)不透明度。 我也试过这个代码但没有工作:
private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
mygrid.Opacity =slider.Value / 100;
}
使用绑定是更好的方法,而且很有效!尽量避免代码隐藏在任何可能的地方。
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid Background="Black" Opacity="{Binding Value, ElementName=mySlider}"/>
<Slider Name="mySlider" Grid.Row="1" Maximum="1" />
</Grid>