none
Какая разница между BitmapCacheBrush и VisualBrush? RRS feed

  • Общие обсуждения

  • BitmapCacheBtush позволяет рисовать области с кэшированным содержимым. BitmapCacheBtush подобна VisualBtush , иногра вы можете использовать BitmapCacheBtush вместо VisualBtush. Следующий пример демонстрирует как с помощью BitmapCacheBtush и VisualBtush нарисовать прямоугольник:

     

    <StackPanel Orientation="Horizontal">
     <Rectangle Width="100" Height="25" Margin="10">
     <Rectangle.Fill>
      <VisualBrush>
      <VisualBrush.Visual>
       <StackPanel Orientation="Horizontal">
       <TextBlock Text="Hello world!"/>
       <Button Content="Button"/>
       </StackPanel>
      </VisualBrush.Visual>
      </VisualBrush>
     </Rectangle.Fill>
     </Rectangle>
    
     <Rectangle Width="100" Height="25" Margin="10">
     <Rectangle.Fill>
      <BitmapCacheBrush>
      <BitmapCacheBrush.Target>
       <StackPanel Orientation="Horizontal">
       <TextBlock Text="Hello world!"/>
       <Button Content="Button"/>
       </StackPanel>
      </BitmapCacheBrush.Target>
      <BitmapCacheBrush.BitmapCache>
       <BitmapCache SnapsToDevicePixels="True" RenderAtScale="2"/>
      </BitmapCacheBrush.BitmapCache>
      </BitmapCacheBrush>
     </Rectangle.Fill>
     </Rectangle>
    </StackPanel>
    
    

     

    Также помните, что BitmapCacheBrush всегда отображает из кэша на целевой элемент или из кэша, определенного свойством BitmapCache и BitmapCacheBrush игнорирует следующие свойства Visual: VisualOffset, VisualTransform, VisualClip, VisualEffect, VisualOpacity, VisualOpacityMask. Этим он отличается от поведения класса VisualBrush.


    Для связи [mail]
    14 декабря 2010 г. 10:53