2倍速刷视频看空间基础——资源基础

以画刷为例,定义一个了一个画刷资源。

<ImageBrush x:Key="happy" ViewportUnits="Absolute" TileMode="Tile" Viewport="0 0 30 30" ImageSource="/WPFBasic;component/Thie/btnBackGrand1.jpg"/>

(简单提一下这里平铺的枚举值,这里使用平铺,FlipX、FlipY、FlipXY就是对着X或者Y对称,来回换着,请看下图)

资源放置的位置,可以放在

<Window.Resource>

</Window.Resource>

之中,那么窗口里面的空间可以直接调用这个资源。也可以放在调用的控件所属的任何一个父控件之中去。按图举例:

无论是这个名为happy的资源放到G1、G2、S1、S2,Btn1是都可以访问并且调用的。如果不在父控件之中呢?

<Grid Name="G1">
  <Grid Name="G2">
    <StackPanel Name="S1">
      <StackPanel VerticalAlignment="Center" Name="S2">
        <Button Name="Btn1" Background="{StaticResource happy}" Height="50"/>
      </StackPanel>
      <StackPanel>
        <StackPanel.Resources>
          <ImageBrush x:Key="happy" ViewportUnits="Absolute" TileMode="Tile" Viewport="0 0 50 50" ImageSource="/WPFBasic;component/Thie/btnBackGrand1.jpg"/>
        </StackPanel.Resources>
      </StackPanel>
    </StackPanel>
</Grid>
</Grid>

像这样皮,就访问不到了...好像是WPF的上下文,它只会往父控件找哎...(静态动态的资源就不怎么说的,无非就是编译后资源是否能改变,动态资源用)。

猜你喜欢

转载自www.cnblogs.com/rainerrainbow/p/11226672.html