Tôi đang tạo Hình chữ nhật động và thêm vào StackPanel
. Tôi cần phải thêm văn bản vào mỗi hình chữ nhật. Làm thế nào tôi có thể làm điều đó?Cần thêm văn bản vào hình chữ nhật
Trả lời
Một Rectangle không có bất kỳ nội dung đứa trẻ, vì vậy bạn sẽ cần phải đặt cả hai điều khiển bên trong bảng điều khiển khác, chẳng hạn như một mạng lưới:
<Grid>
<Rectangle Stroke="Red" Fill="Blue"/>
<TextBlock>some text</TextBlock>
</Grid>
Bạn cũng có thể sử dụng một điều khiển Biên phòng, trong đó sẽ đưa một đứa trẻ và vẽ một hình chữ nhật xung quanh nó:
<Border BorderBrush="Red" BorderThickness="1" Background="Blue">
<TextBlock>some text</TextBlock>
</Border>
Bạn nói "hình chữ nhật động", vì vậy có vẻ như bạn đang làm điều này trong mã. Tương đương C# sẽ giống như thế này:
var grid = new Grid();
grid.Children.Add(new Rectangle() { Stroke = Brushes.Red, Fill = Brushes.Blue });
grid.Children.Add(new TextBlock() { Text = "some text" });
panel.Children.Add(grid);
// or
panel.Children.Add(new Border()
{
BorderBrush = Brushes.Red,
BorderThickness = new Thickness(1),
Background = Brushes.Blue,
Child = new TextBlock() { Text = "some text" },
});
Nhưng nếu bạn muốn có một danh sách năng động của hình chữ nhật, có lẽ bạn nên sử dụng một ItemsControl:
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Red" BorderThickness="1" Background="Blue">
<TextBlock Text="{Binding Text}"/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Nếu bạn đặt DataContext vào một danh sách các đối tượng , XAML này sẽ tạo ra một Border với một TextBlock cho mỗi một văn bản được đặt thành thuộc tính Text trên đối tượng.
Trước hết bạn có thể làm điều này, nhưng không phải bằng cách thêm điều khiển. Và có một lý do rất tốt để làm điều này, cho dựng hình phần cứng tốc độ cao. Bạn có thể tạo một brush đặc biệt từ một phần tử UI lưu trữ chính nó trong phần cứng và điền vào hình chữ nhật với phần cứng này, và nó cực kỳ nhanh. Tôi sẽ chỉ hiển thị mã phía sau bởi vì đó là ví dụ tôi đã tự tay
Rectangle r = new Rectangle();
r.Stroke = Brushes.Blue;
r.StrokeThickness = 5;
r.SetValue(Grid.ColumnProperty, 1);
r.VerticalAlignment = VerticalAlignment.Top;
r.HorizontalAlignment = HorizontalAlignment.Left;
r.Margin = new Thickness(0);
r.Width = 200;
r.Height = 200;
r.RenderTransform = new TranslateTransform(100, 100);
TextBlock TB = new TextBlock();
TB.Text = "Some Text to fill";
//The next two magical lines create a special brush that contains a bitmap rendering of the UI element that can then be used like any other brush and its in hardware and is almost the text book example for utilizing all hardware rending performances in WPF unleashed 4.5
BitmapCacheBrush bcb = new BitmapCacheBrush(TB);
r.Fill = bcb;
MyCanvas.Children.Add(r);
- 1. ImageMagick - Văn bản thành hình chữ nhật
- 2. Đoạn văn bản SVG theo chiều rộng của hình chữ nhật trong hình chữ nhật D3
- 3. Điền văn bản bên trong hình chữ nhật
- 4. Văn bản trung tâm Java trong hình chữ nhật
- 5. Làm cách nào để mờ dần vào/ra hình chữ nhật hoặc văn bản?
- 6. Thực hiện một chuỗi văn bản điền vào một hình chữ nhật
- 7. Thêm văn bản vào UIImage
- 8. Nhân bản hình chữ nhật/mạng
- 9. Thêm văn bản vào một tập tin hình ảnh
- 10. Thêm văn bản vào CALayer
- 11. Matlab thêm văn bản vào bên ngoài hình
- 12. Thêm hình ảnh vào bên trái văn bản qua css
- 13. Cách thêm văn bản vào các hình dạng trong WPF
- 14. Thêm Nghiêng Thêm vào Văn bản Nghiêng
- 15. Làm cách nào để quấn văn bản xung quanh hình ảnh không phải hình chữ nhật?
- 16. Android Thêm hình ảnh vào văn bản (trong chế độ xem văn bản)?
- 17. Thêm văn bản động trên hình ảnh
- 18. Thêm văn bản vào vùng văn bản sử dụng javascript
- 19. Cách tính chiều cao của hình chữ nhật văn bản từ một NSString?
- 20. Trích xuất văn bản và văn bản hình chữ nhật tọa độ từ tệp Pdf bằng itextsharp
- 21. bọc văn bản để phù hợp với một hình chữ nhật: raphael
- 22. Làm thế nào để đặt và văn bản trung tâm trong một hình chữ nhật SVG
- 23. Trình chỉnh sửa để chọn văn bản bên trong hình chữ nhật
- 24. Làm thế nào để vẽ một hình chữ nhật lên một hình ảnh với độ trong suốt và văn bản
- 25. awk thêm mã màu vào văn bản
- 26. Html thêm số dòng vào văn bản
- 27. thêm văn bản vào cuối mỗi dòng
- 28. tạo văn bản bên trong một hình chữ nhật bằng inkscape
- 29. Cocos2d: Hình chữ nhật chữ nhật màu rắn?
- 30. Chữ thập văn bản jQuery
Bạn có thể vui lòng cung cấp một số đoạn mã cho Ràng buộc Datacontext của Itemcontrol. – Lalchand