如何使用C#中的滑块值更改网格不透明度

时间:2017-03-19 07:29:50

标签: c# wpf visual-studio-2015 .net-4.0

我想使用滑块值更改或控制网格或类似图像或任何不透明度的内容。 我有完整的窗口控制程序,但我没有改变网格不透明度。

请参阅此代码以更改窗口不透明度。

 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

但我想通过滑块值更改网格(图像/矩形或其他)不透明度。 我也试过这段代码,但没有工作:

 private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
                {              
                  mygrid.Opacity =slider.Value / 100;
                }

1 个答案:

答案 0 :(得分:0)

使用绑定是一种更好的方式,它的工作原理!尽量避免任何可能的代码。

<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>