Я пытался преобразовать следующий код XAML в C #, но безуспешно. Я как бы застрял в части ControlTemplate. Я очень новичок в WPF, так что, возможно, я все делаю неправильно.
Идея заключается в том, что мне нужно извлечь данные из базы данных и обернуть каждую запись приведенным ниже шаблоном. Поскольку количество строк может различаться, я хочу создать каждый шаблон с использованием кода C #.
Я специально еще не определил все атрибуты элемента управления.
<Grid>
<Button Content="Button" Height="30" Name="button1" Margin="8,8,7,8" Click="button1_Click" >
<Button.Template>
<ControlTemplate>
<Rectangle RadiusX="5" RadiusY="5" Stroke="LightYellow" StrokeThickness="0.5" Name="myRectangle">
<Rectangle.Fill>
<VisualBrush Opacity="0.7">
<VisualBrush.Visual>
<TextBlock Name="myTextBlock" Foreground="LightYellow" Background="DarkBlue" Text="Text here" />
</VisualBrush.Visual>
</VisualBrush>
</Rectangle.Fill>
</Rectangle>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
Мой код C # на данный момент:
Grid grid = new Grid();
Button button = new Button();
ControlTemplate controlTemplate = new ControlTemplate();
Rectangle rectangle = new Rectangle();
VisualBrush visualBrush = new VisualBrush();
TextBlock textBlock = new TextBlock();
textBlock.Text = "Text here";
textBlock.Background = new SolidColorBrush(Color.FromRgb(2, 33, 233));
visualBrush.Visual = textBlock;
visualBrush.Opacity = 0.7;
rectangle.Fill = visualBrush;
controlTemplate //What to do here?
button.Template = controlTemplate;
button.Content = "Button";
button.Height = 30;
button.Width = 100;
grid.Children.Add(button);
this.Content = grid;
Заранее спасибо,
Грант