您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页浅谈WPF的VisualBrush

浅谈WPF的VisualBrush

来源:图艺博知识网

    首先看看VisualBrush的解释,msdn上面的解释是使用  绘制区域,那么我们再来看看什么是Visual呢?官方的解释是:获取或设置画笔的内容,Visual 是直接继承自DependencyObject,UIElement也是直接继承自Visual,我们常见的控件都是继承自Visual,Visual可以实现动态绑定,比如我们可以在代码中这样写: <VisualBrush Visual="{Binding TodayPeriod}" Stretch="Fill"></VisualBrush> 这样我们就可以把一个继承自Visual的控件(此处为TodayPeriod的一个UserControl)通过绑定的方式绑定到Visual中,我们再来看看VisualBrush这个类,首先来看一段示例代码:

                         <Border Grid.Column="1">
                                <Border.Background>
                                    <VisualBrush Stretch="Uniform">
                                        <VisualBrush.Visual>
                                            <Ellipse Fill="#003769" Opacity="0.6" Stretch="Fill" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"                                                Width="100" Height="100"></Ellipse>
                                        </VisualBrush.Visual>
                                    </VisualBrush>
                                </Border.Background>
                                <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
                                    <TextBlock FontSize="120" Text="{Binding SuccessError.Total,RelativeSource={RelativeSource TemplatedParent}}" Horizont                                         alAlignment="Center" VerticalAlignment="Center" Margin="0 0 0 -10"></TextBlock>
                                    <TextBlock FontSize="40" Text="总数" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 -10 0 0">
</TextBlock> </StackPanel> </Border>

  这段代码是设置Border的Background为一个Ellipse,然后再在这个Ellipse上面放置两个TextBlock控件,本质上Background属性属于Brush类型,而我们的VisualBrush刚好继承自这个类型,我们来看一看VisualBrush的继承关系:

                                                                               

                                                                               

                                                                               

                                                                               

 

                                                                              

                                                                              
                                                                              System.Windows.Media.VisualBrush

所以在上面的代码中我们可以设置Border的Background为VisualBrush,我们在很多地方都是可以使用VisualBrush的,这里需要我们平时在使用的时候不断去反思去总结。

 

转载于:https://www.cnblogs.com/seekdream/p/5239149.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务