繁体   English   中英

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

[英]How To Change Grid Opacity using Slider Value In C#

我想使用滑块值更改或控制网格或诸如图像之类的东西或任何不透明度。 我有完整的窗口控制程序,但无法更改网格不透明度。

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

 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;

        }
}

并查看结果: 效果很好

但是我想通过滑块值更改网格(图像/矩形或其他)的不透明度。 我也尝试通过此代码,但无法正常工作:

 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM