Window2 win = new Window2();
/*
* VisualBrush的三个要素:
* 1.内容 (VisualBrush.Visual)
* 2.图块 (VisualBrush.Viewbox)
* 3.输出区域(VisualBrush.Viewport)
*/
win.VisualBrushTest.Visual = this.stack;
win.VisualBrushTest.Viewbox = new Rect(0, 0,0.5, 0.5);
win.VisualBrushTest.Viewport = new Rect(0, 0, 0.5, 0.5);
win.VisualBrushTest.TileMode = TileMode.Tile;
win.ShowDialog();
/*
* 猜想:
* 其他的Brush也是这个原理来实现的.
* 只不过内容不同罢了
* 他们中都封装了TileBrush.
* 所以他们也就有这三个要素.
* (待验证)
*/
/*
* 疑惑:
* VisualBrush 放大一个对象后为什么这个对象的绑定数据还会动呢?
* 从这点就可以看出VisualBrush显示的不是图片,那又是什么呢?对象的克隆吗?
* 猜想:
* 很有可能他就是克隆了内容对象并显示.
* 原因:VisualBrush是从System.Windows.Freezable继承而来。
* 从而获得了克隆的功能!
*/
相关主题请查阅MSND。VisualBrush相关主题。
/*
* VisualBrush的三个要素:
* 1.内容 (VisualBrush.Visual)
* 2.图块 (VisualBrush.Viewbox)
* 3.输出区域(VisualBrush.Viewport)
*/
win.VisualBrushTest.Visual = this.stack;
win.VisualBrushTest.Viewbox = new Rect(0, 0,0.5, 0.5);
win.VisualBrushTest.Viewport = new Rect(0, 0, 0.5, 0.5);
win.VisualBrushTest.TileMode = TileMode.Tile;
win.ShowDialog();
/*
* 猜想:
* 其他的Brush也是这个原理来实现的.
* 只不过内容不同罢了
* 他们中都封装了TileBrush.
* 所以他们也就有这三个要素.
* (待验证)
*/
/*
* 疑惑:
* VisualBrush 放大一个对象后为什么这个对象的绑定数据还会动呢?
* 从这点就可以看出VisualBrush显示的不是图片,那又是什么呢?对象的克隆吗?
* 猜想:
* 很有可能他就是克隆了内容对象并显示.
* 原因:VisualBrush是从System.Windows.Freezable继承而来。
* 从而获得了克隆的功能!
*/
相关主题请查阅MSND。VisualBrush相关主题。