Я не понимаю, почему это не работает или что мне нужно, чтобы заставить его работать.Создайте элемент WPF за кадром и сделайте растровое изображение
Для Репрографического, создать простое приложение WPF и заменить конструктор константа выглядит главное окно:
public MainWindow()
{
InitializeComponent();
// simple visual definition
var grid = new Grid { Width = 300, Height = 300 };
var text = new TextBlock
{
Text = "Y DON'T I WORK???",
FontSize = 100,
FontWeight =
FontWeights.Bold
};
grid.Children.Add(text);
// update the layout so everything is awesome cool
grid.Measure(grid.DesiredSize);
grid.Arrange(new Rect(grid.DesiredSize));
grid.UpdateLayout();
// create a BitmapSource from the visual
var rtb = new RenderTargetBitmap(
(int)grid.Width,
(int)grid.Height,
96,
96,
PixelFormats.Pbgra32);
rtb.Render(grid);
// Slap it in the window
this.Content = new Image { Source = rtb, Width = 300, Height = 300 };
}
Это приводит к пустому образу. Если я сохраню RTB на диск как PNG, его размер будет правильным, но прозрачным.
Если, однако, я делаю это с визуальным изображением, которое отображается на экране, оно отлично работает.
Как визуализировать визуализацию, которую я построил вне экрана для растрового изображения?
сын ........ Я проверил DesiredSize раз путь назад, когда я начал пытаться сделать это и это было не 0,0 (кто знает почему) и никогда не проверял его снова. Благодаря! – Will
Мы только выяснили, что если у вас есть ItemsControls, связанный с их ItemsSources внутри элемента управления, который вы визуализируете на экране, кажется, вам нужно вызвать 'UpdateLayout()' или они не отображают какие-либо элементы. –