Добавьте кнопку в нужную панель стека во время выполнения.
Изначально у меня есть код xaml.
<Window x:Class="Test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Height="802" Width="883"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="702"></ColumnDefinition> <ColumnDefinition Width="150"></ColumnDefinition> </Grid.ColumnDefinitions> <Viewbox Grid.Column="0"> <StackPanel Orientation="Vertical"> <StackPanel Orientation="Horizontal"> <Label FontSize="48" Margin="57,0,20,0" >A</Label> <Label FontSize="48" Margin="18,0,20,0" >B</Label> <Label FontSize="48" Margin="18,0,20,0" >C</Label> <Label FontSize="48" Margin="18,0,20,0" >D</Label> <Label FontSize="48" Margin="18,0,20,0" >E</Label> <Label FontSize="48" Margin="18,0,20,0" >F</Label> <Label FontSize="48" Margin="18,0,20,0" >G</Label> <Label FontSize="48" Margin="18,0,20,0" >H</Label> </StackPanel> <StackPanel Orientation="Horizontal"> <Label FontSize="48" Margin="0,0,7,0">8</Label> <Border Style="{DynamicResource ChessL}"> <Button x:Name="A8" Height="Auto" Background="{x:Null}" FontSize="40" Foreground="Black" KeyDown="OnKeyDown" Tag="{Binding A8Color,Mode=TwoWay}"></Button> </Border> <Border Style="{DynamicResource Chess}"> <Button x:Name="B8" Height="Auto" Background="{x:Null}" FontSize="40" Foreground="Black" KeyDown="OnKeyDown" Tag="{Binding B8Color,Mode=TwoWay}">♘</Button> </Border>
Это всего лишь одна кнопка, у меня есть много подобных кнопок, которые нужно добавить. Теперь я хочу добавить кнопки программно.
Самое сложное - это то, как работать с Viewbox, StackPanel, Label, border и style в коде.
Что я уже пробовал:
Я знаю, чтобы добавить простую кнопку по коду:
Button btn = new Button();
Но как добавить Viewbox, границы и стиль
[no name]
"как добавить Viewbox, границы и стиль", таким же образом.
Richard MacCutchan
Все свойства, заданные в XAML, также могут быть динамически заданы в коде C#. Проверьте документацию MSDN для элемента управления, который вы хотите создать.